양식이 있고 고용 기록이 될 수 있습니다. 작업 제목, 작업 기간 및 작업 위치의 세 가지 입력 행에 표시됩니다. 당신은 더 많은 데이터를 추가 할 수있는 빈 입력 집합을 추가하는 고용을 추가 할 수 있습니다.동적 데이터를 PHP로 전송
HTML 양식을 AJAX를 통해 PHP 스크립트로 보내고 있습니다. 동일한 이름의 입력을 모두 별도로 보내므로 배열이 아닙니다. PHP 쪽에서 나는 포스트 변수를 배열에 넣어 인코딩하는 json입니다. $json_data
문제는 PHP 스크립트가 마지막 입력 집합 만 저장한다는 것입니다. 그래서 3 개의 작업을 입력하면 마지막 작업 만 저장됩니다.
<!-- employment row -->
<p class="mt-3 text-left"> Employment history </p>
<div class="row employment_block">
<div class="col-md-3">
<input type="text" name="job_title[]" placeholder="Job title">
</div>
<div class="col-md-3">
<input type="text" name="job_duration[]" placeholder="Duration (i.e. 3 months/1 year)">
</div>
<div class="col-md-3">
<input type="text" name="job_location[]" placeholder="Country">
</div>
<div class="col-md-3 text-center">
<button href="#" class="able_btn m-0 w-100 disabled" disabled aria-disabled="true" style="opacity:0.5"> remove </button>
</div>
</div>
<div class="text-center mb-3 mt-3">
<a class="add_employment" href=""> Add employment </a>
</div>
<!-- JS -->
$(document).ready(function(){
$(".account_cv_update_form").submit(function(evt){
evt.preventDefault();
var formData = new FormData($(this)[0]);
$.ajax({
url: 'handlers/cv_update.php',
type: 'POST',
data: formData,
async: false,
cache:false,
contentType: false,
processData: false,
dataType: "json",
success: function (response) {
switch(response.message){
case 'success': success();
break;
case 'error': error();
break;
}
}
});
return false;
});
});
$('.add_employment').click(function(evt) {
evt.preventDefault();
$('.employment_block:last').after('<div class="row employment_block"><div class="col-md-3"><input type="text" name="job_title" placeholder="Job title"></div><div class="col-md-3"><input type="text" name="job_duration" placeholder="Duration (i.e. 3 months/1 year)"></div><div class="col-md-3"><input type="text" name="job_location" placeholder="Country"></div><div class="col-md-3 text-center"><button class="able_btn m-0 w-100 remove_employment"> remove </button></div></div>');
});
<!-- PHP code -->
$json_data = array(
'job_title' => $job_title,
'job_location' => $job_location,
'job_duration' => $job_duration);
$cv_data = json_encode($json_data);
$stmt = $dbh->prepare("UPDATE table SET profile_picute=:profile_picute, first_name=:first_name, last_name=:last_name, phone_number=:phone_number, email_address=:email_address, data=:data WHERE id=:id");
$stmt->bindParam(':profile_picute', $new_file_name);
$stmt->bindParam(':first_name', $first_name);
$stmt->bindParam(':last_name', $last_name);
$stmt->bindParam(':phone_number', $phone_number);
$stmt->bindParam(':email_address', $email_address);
$stmt->bindParam(':data', $cv_data);
$stmt->bindParam(':id', $user_id);
if($stmt->execute()){
$response["message"] = 'success';
}else{
$response["message"] = 'error';
$errors++;
}
echo json_encode($response);
exit();
* "// 여기에 mysql에 $ cv_data를 저장하십시오."* - php/mysql이 정확한지 어떻게 알 수 있습니까? 나는 이것이 보이는 것보다 더 깊이 간다고 생각한다. –
JS에 대해 많이 알지는 못하지만,'$ ('. employment_block : last'). ..... .....의 입력은 위의 입력에 대한 것과 같이 배열'[]'이 없으므로 나는 그들이 그들도 있어야하는지 확신하지 못한다. –
@ Fred-ii- coz 그것은 mysql에 들어가고있다 ... – bob