2013-05-24 5 views
-5

Je suis à la recherche de conseils, ou un lien vers un tutoriel qui m'aidera à ajouter des données d'un second formulaire à la table MySQL qui n'a été que partiellement rempli par le premier forme.Ajout de données de formulaire PHP à une table MySQL existante via un formulaire séparé

Je ne peux pas utiliser un formulaire, car je souhaite que les utilisateurs soumettent des données dans le premier formulaire (informations utilisateur) avant de pouvoir accéder au second formulaire (numéros que l'utilisateur saisira). Et je ne peux pas utiliser une table séparée, parce que je veux regarder la table dans phpMyAdmin après le fait, et regarde quel utilisateur a ajouté quels nombres. Les champs existent déjà dans la table, ils doivent juste être remplis.

+0

Montrez-nous ce que vous avez essayé. Ou les gars peuvent fermer votre question. –

+0

Alors pourquoi ne pas insérer les données dans le premier formulaire, et lorsque vous arrivez au second formulaire, remplir les valeurs d'entrée avec les données récupérées dans le tableau? –

+0

Ou passez le résultat de 'mysql_insert_id()' au second formulaire, et incluez-le dans un champ caché afin que le gestionnaire de la deuxième forme sache quel enregistrement mettre à jour? En général, avez-vous fait des recherches ou tenté de résoudre le problème? –

Répondre

0

Si je comprends bien, vous insérez de nouvelles informations utilisateur du formulaire 1, puis d'envoyer l'utilisateur à un nouvelle page avec un nouveau formulaire pour remplir les informations supplémentaires. Correct? ... Si oui, récupérez simplement l'ID de la table où ils ont été insérés et utilisez-le pour insérer les données du formulaire 2.

Cela se fera en 3 requêtes. Sur la première page, votre nouvel utilisateur sera inséré dans la table avec une simple requête d'insertion et l'ID de l'insert sera placé dans une variable SESSION:

$con = mysqli_connect("localhost", "my_user", "my_password", "world"); 
$query = "INSERT INTO table Name, Address, Phone VALUES fullname, addr, phone1"; 
mysqli_query($con, $query); 

$_SESSION['id'] = mysqli_insert_id($con); 

Puis à la page 2, utilisez l'ID dans la variable de session pour compléter la deuxième requête d'insertion.

+0

Merci! Cela aide énormément. Lors de la manipulation du formulaire pour la page 2, dois-je créer un fichier séparé pour faire l'action ou puis-je mettre tout le code PHP dans un fichier? –

+0

Il semble que le formulaire 2 est sur une autre page, non? Vous pouvez créer un fichier PHP unique à "inclure" sur votre page, puis appeler certaines fonctions ou définir des paramètres si nécessaire. L'action sur le formulaire 2 utiliserait la même connexion à la base de données avec une requête d'insertion différente qui utilise une clause WHERE: INSERT INTO table_2 Info1, Info2, info3 VALEURS newinfo1, newinfo2, newinfo3 O WH ID = $ _SESSION ['id '] – gtr1971

+0

Oui Le formulaire 2 est sur une autre page. J'obtiens une erreur lors de l'utilisation de ce code, mais quand je commente tout depuis '$ _SESSION ['id']' bas, je reçois le premier formulaire pour fonctionner correctement.Je pense que je dois ajouter ce code dans deux commentaires b/c de la limite de caractères –

-2

Vous voudrez utiliser une requête MySQL UPDATE.

Quelque chose le long des lignes de c'est ce que vous êtes probablement à la recherche de:

UPDATE users SET favorite_number=value, lucky_number=value2,...WHERE username=johnny

0

Pour votre requête INSERT, vos variables POST ne doivent pas être entre guillemets. Si ce sont des chaînes, supprimez simplement les guillemets simples. Si ce sont des nombres destinés à être entrés en tant que chaînes, vous devrez échapper les citations.

Ainsi, au lieu de cela:

VALUES ('$_POST[opName]','$_POST[opNum]', ... 

Faites ceci:

VALUES ($_POST[opName],$_POST[opNum], ... 
Questions connexes