Maison > développement back-end > tutoriel php > Comment insérer plusieurs entrées de formulaire dans une base de données à l'aide d'AJAX et PHP ?

Comment insérer plusieurs entrées de formulaire dans une base de données à l'aide d'AJAX et PHP ?

Susan Sarandon
Libérer: 2024-12-05 03:59:09
original
682 Les gens l'ont consulté

How to Insert Multiple Form Inputs into a Database Using AJAX and PHP?

Utilisation d'Ajax et PHP pour insérer plusieurs entrées de formulaire dans une base de données

Le formulaire fourni génère plusieurs champs de saisie en fonction de la sélection de l'utilisateur. Pour soumettre ces données à une base de données utilisant Ajax, plusieurs étapes sont impliquées :

1. Générer plusieurs champs de saisie :

Le code PHP génère plusieurs champs de saisie à l'aide d'une boucle, comme indiqué dans votre exemple :

<?php
$i = 1;
while ($i <= $num_to_enter) {
    $form_output .= "First Name: <input>
Copier après la connexion

2. Créer une fonction Ajax :

La fonction JavaScript capture les données de tous les champs de saisie et les envoie au script PHP :

function MyFunction() {
    var i = 1;
    var x = $('#num_to_enter').val();
    var data = "";
    var errorMessage = false;
    
    // Check if all fields are filled
    while (i <= x) {
        var name = $('#fname' + i).val();
        var lname = $('#lname' + i).val();
        var email = $('#Email' + i).val();
        if (name == "" || lname == "" || email == "") {
            errorMessage = true;
        }
        data += "fname[" + i + "]=" + name + "&lname[" + i + "]=" + lname + "&email[" + i + "]=" + email + "&";
        i++;
    }
    
    if (!errorMessage) {
        $('#SuccessDiv').html('Entering Info. <img src="images/processing.gif" />');
        $.ajax({
            url: 'process.php',
            type: "POST",
            data: data,
            success: function(data) {
                window.setTimeout(function() {
                    $('#SuccessDiv').html('Info Added!');
                    $('#data').css("display","block");
                    $('#data').html(data);
                }, 2000);
            }
        });
    } else {
        alert('Please fill out all fields.');
    }
    return false;
}
Copier après la connexion

3. Traitez la requête Ajax en PHP :

Le script process.php reçoit les données POST et les insère dans la base de données :

<?php
$i = 1;
while ($i <= $_POST['num_to_enter']) {
    $fname = $_POST['fname[' . $i . ']'];
    $lname = $_POST['lname[' . $i . ']'];
    $email = $_POST['email[' . $i . ']'];

    // Execute INSERT query into database
    // Set $sql accordingly for your database syntax

    $i++;
}
?>
Copier après la connexion

4. Renvoyez une réponse JSON :

Après avoir inséré avec succès les données, le script process.php envoie une réponse JSON à la fonction Ajax. Cette réponse peut être utilisée pour afficher un message de réussite, par exemple.

echo json_encode(array('success' => true));
?>
Copier après la connexion

5. Gérer la réponse JSON dans la fonction Ajax :

Dans la fonction JavaScript Ajax, la méthode de réussite gère la réponse JSON du script PHP :

success: function(data) {
    if (data.success) {
        // Display a success message
    } else {
        // Display an error message
    }
}
Copier après la connexion

En suivant ces étapes, vous pouvez soumettre avec succès des données provenant de plusieurs entrées de formulaire à une base de données en utilisant Ajax et PHP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal