데이터베이스에 여러 양식 입력을 입력하기 위한 AJAX 및 PHP
이 기사에서는 AJAX 및 PHP를 활용하여 입력하는 방법을 살펴보겠습니다. 여러 양식을 데이터베이스에 입력합니다. AJAX를 처음 접하는 여러분을 위해 우리는 이러한 맥락에서 AJAX의 개념과 적용을 이해하는 데 중점을 둘 것입니다.
시작하려면 PHP에서 생성된 다음 샘플 양식을 고려해 보겠습니다.
<?php echo "<form method='post'>"; $i=1; while($i <= $num_to_enter){ $form_output .= "First Name: <input>
이 양식은 사용자 선택('$num_to_enter')에 따라 여러 입력 필드 세트를 동적으로 생성합니다. 우리의 목표는 AJAX를 사용하여 이러한 입력 필드의 데이터를 데이터베이스 삽입을 위한 PHP 스크립트로 보내는 것입니다.
귀하가 제공한 AJAX 함수와 관련하여 주요 문제는 '&' 문자를 잘못 사용하는 것입니다. 데이터 문자열을 연결합니다. 또한 AJAX 호출 외부의 'while' 루프로 인해 빈 데이터가 전송됩니다.
다음은 AJAX 함수의 수정된 버전입니다.
function MyFunction(){ var i = 1; var x = $('#num_to_enter').val(); // Get the number of form sets var dataString = ''; // Initialize an empty data string // Iterate through the number of form sets while (i <= x){ // Concatenate the data string using JavaScript's += operator dataString += "fname[" + i + "]=" + $('#fname[' + i + ']').val() + "&"; dataString += "lname[" + i + "]=" + $('#lname[' + i + ']').val() + "&"; dataString += "email[" + i + "]=" + $('#email[' + i + ']').val() + "&"; i++; } // Remove the trailing '&' character from the data string dataString = dataString.substr(0, dataString.length - 1); // Send the data via AJAX to the 'process.php' script $.ajax({ url: 'process.php', type: 'POST', data: dataString, // The concatenated data string is passed here success: function(data){ // Handle the response from 'process.php' // Your code goes here }, complete: function(){ // Perform tasks after the AJAX request is complete // Your code goes here } }); }
이 수정된 함수에서는 적절하게 연결합니다. 데이터를 단일 문자열('dataString')로 변환하고 이를 AJAX의 'data' 매개변수로 전달합니다. call.
PHP 스크립트('process.php')의 경우 다음과 같은 내용을 가질 수 있습니다.
<?php if($_SERVER['REQUEST_METHOD'] === 'POST') { // Parse the data from the POST request parse_str($_POST['data'], $formData); // Extract the individual data sets $fnames = $formData['fname']; $lnames = $formData['lname']; $emails = $formData['email']; // Initialize the success flag $success = true; // Perform the database insertions for ($i = 0; $i < count($fnames); $i++) { // Insert into database // ... // Check if any insertion failed if(!...){ $success = false; break; } } // Return the success flag as JSON echo json_encode(array('success' => $success)); } ?>
이 PHP 스크립트에서는 POST 데이터를 구문 분석하고 개별 항목을 추출합니다. 데이터 세트를 검색하고 이를 반복하여 데이터베이스 삽입을 수행합니다. 삽입에 실패하면 '성공' 플래그가 false로 설정됩니다. 마지막으로 AJAX 호출에 '성공' 플래그를 JSON으로 반환합니다.
이 접근 방식을 사용하면 AJAX를 통해 여러 양식 세트를 비동기적으로 제출하고 PHP 스크립트에서 데이터베이스 삽입을 처리할 수 있어 별도의 작업 없이 보다 원활한 사용자 경험을 제공할 수 있습니다. 페이지를 새로고침합니다.
위 내용은 AJAX와 PHP를 사용하여 페이지 새로 고침 없이 여러 양식 입력을 데이터베이스에 효율적으로 제출하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!