Récupérer l'id d'une entrée avec INSERT sql
Résolu
papyclic
Messages postés
446
Date d'inscription
Statut
Membre
Dernière intervention
-
papyclic Messages postés 446 Date d'inscription Statut Membre Dernière intervention -
papyclic Messages postés 446 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je rencontre un petit soucis en ce moment et je ne sais pas comment procéder...
En fait j'ai 3 tables
Tables cdc_personnes
idpers|nom|prenom|
Table cdc_repet
idrepet|drepet|
Table cdc_assister
idpers|idrepet|
J'ai une requète qui selectionne tous les membre avec à côté de chaque nom j'ai une checkbox
je ne vous met pas cette requète uniquement la boucle pour éviter de surcharger.
La table cdc_assister est la relation des 2 autres tables
J'ai bien mes 2 requètes INSERT, mais malheureusement je récupére bien idrepet mais je ne sais pas comment faire pour récupérer le idpers c'est à dire les personnes que j'aurai sélectionnées.
Je vous remercie par avance pour votre aide.
Cdt.
Je rencontre un petit soucis en ce moment et je ne sais pas comment procéder...
En fait j'ai 3 tables
Tables cdc_personnes
idpers|nom|prenom|
Table cdc_repet
idrepet|drepet|
Table cdc_assister
idpers|idrepet|
J'ai une requète qui selectionne tous les membre avec à côté de chaque nom j'ai une checkbox
je ne vous met pas cette requète uniquement la boucle pour éviter de surcharger.
while ($r=mysql_fetch_object($resultat)) { echo "<input type='checkbox' name='presents[]' value='$r->idpers'> $r->nom $r->prenom<br/>\n"; }
La table cdc_assister est la relation des 2 autres tables
J'ai bien mes 2 requètes INSERT, mais malheureusement je récupére bien idrepet mais je ne sais pas comment faire pour récupérer le idpers c'est à dire les personnes que j'aurai sélectionnées.
switch($_POST['haction']) { case 'new': // Construction de la requete d'ajout $requete = "INSERT INTO ".TBREPET." (drepet)" . "VALUES ('$drepet')"; $typenr = "enregistré"; // Type d'enregistrement : ajout ou modif (pour message CR) $reqaj = $requete; // sauver temporairement la requete dans $reqaj (requete ajout) pour debuggage $resultat = ExecRequete($requete,$connexion); // Ne pas exécuter pour l'instant $idrep = mysql_insert_id(); $presents = $_POST['presents']; $requete = "INSERT INTO ".TBASS." (idpers,idrep)" . "VALUES ('$idpers','$idrep')"; $typenr = "enregistré"; // Type d'enregistrement : ajout ou modif (pour message CR) $reqaj = $requete; // sauver temporairement la requete dans $reqaj (requete ajout) pour debuggage $resultat = ExecRequete($requete,$connexion); // Ne pas exécuter pour l'instant break; }
Je vous remercie par avance pour votre aide.
Cdt.
A voir également:
- Récupérer l'id d'une entrée avec INSERT sql
- Recuperer message whatsapp supprimé - Guide
- Touche insert - Guide
- Comment recuperer une video sur youtube - Guide
- Récupérer mon compte facebook désactivé - Guide
- Id telephone - Guide
9 réponses
Bonjour,
$presentsest un tableau, tu peux donc y accéder grâce à un foreach par exemple:
foreach($presents as $p){ // Construction de requête ici, $p étant un 'persid' }
Bonjour
J'ai essayé cela me retourne
j'ai bien regarder sur des forums et essayé plusieurs petites choses mais sans résultat.
Avez-vous une idée.
Merci
J'ai essayé cela me retourne
Warning: Invalid argument supplied for foreach() in .....
j'ai bien regarder sur des forums et essayé plusieurs petites choses mais sans résultat.
Avez-vous une idée.
Merci
oui je j'avais bien mis après la ligne 15 le var_dump me retourne bool(false)
Alors pourquoi ça me retourne false?
Alors pourquoi ça me retourne false?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
en fait j'ai changé d'emplacement de ma balise de fermeture du formulaire je l'ai mise après la boucle while et maintenant cela me retourne true mais par contre j'ai toujours la même erreur
bool(true) Warning: Invalid argument supplied for foreach() in
Avec la boucle foreach ça me retourne aucune erreur mais par contre je ne récupére toujours pas l'idpers.
je na sais comment procéder.
Merci
switch($_POST['haction']) { case 'new': // Construction de la requete d'ajout $requete = "INSERT INTO ".TBREPET." (drepet)" . "VALUES ('$drepet')"; $typenr = "enregistré"; // Type d'enregistrement : ajout ou modif (pour message CR) $reqaj = $requete; // sauver temporairement la requete dans $reqaj (requete ajout) pour debuggage $resultat = ExecRequete($requete,$connexion); // Ne pas exécuter pour l'instant $idrep = mysql_insert_id(); $presents = isset($_POST['presents']); foreach($presents as $idpers){ $requete = "INSERT INTO ".TBASS." (idpers,idrep)" . "VALUES ('$idpers','$idrep')"; $typenr = "enregistré"; // Type d'enregistrement : ajout ou modif (pour message CR) $reqaj = $requete; // sauver temporairement la requete dans $reqaj (requete ajout) pour debuggage $resultat = ExecRequete($requete,$connexion); // Ne pas exécuter pour l'instant } break; }
je na sais comment procéder.
Merci
Bonjour,
Avec ce code :
tu ne fais que tester que la variable $_POST['presents']) existe.....
Pour AFFECTER la valeur c'est comme ceci qu'il faut l'écrire :
Au passage (aucun rapport direct avec ton souci.. mais bon...)...: Comme cela t'a déjà été dit ....Tu utilises l'ancienne extension MYSQL consiédérée comme OBSOLETE... je t'invite vivement à lire ceci :
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
puis à passer à mysqli ou PDO
Avec ce code :
$presents = isset($_POST['presents']);*
tu ne fais que tester que la variable $_POST['presents']) existe.....
Pour AFFECTER la valeur c'est comme ceci qu'il faut l'écrire :
$presents = isset($_POST['presents']) ? $_POST['presents'] : NULL;
Au passage (aucun rapport direct avec ton souci.. mais bon...)...: Comme cela t'a déjà été dit ....Tu utilises l'ancienne extension MYSQL consiédérée comme OBSOLETE... je t'invite vivement à lire ceci :
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
puis à passer à mysqli ou PDO
Bonjour
Malheureusemant cela me retourne toujours pas les checkboxs cochés c'est à dire idpers toujours rien.
Par contre en ce qui concerne l'extension MYSQL je préfére régler 2 ou 3 soucis avant de passer à PDO sinon cela va être compliqué pour moi.
Avez-vous d'autres solutions à me proposer, de mon côté je suis démuni d'idée mais je continue à chercher.
Je vous remercie.
Bonne journée
Malheureusemant cela me retourne toujours pas les checkboxs cochés c'est à dire idpers toujours rien.
Par contre en ce qui concerne l'extension MYSQL je préfére régler 2 ou 3 soucis avant de passer à PDO sinon cela va être compliqué pour moi.
Avez-vous d'autres solutions à me proposer, de mon côté je suis démuni d'idée mais je continue à chercher.
Je vous remercie.
Bonne journée
while ($r=mysql_fetch_object($resultat)) { echo "<input type='checkbox' name='presents[]' value='$r->idpers'> $r->nom $r->prenom<br/>\n"; $nbp++; }
Bonjour,
Je suis un gros imbécile, lorsque j'ai fait un print_r rien ne s'affichais alors je me suis dit bizarre. En fait sur mon serveur j'exportais pas le bon fichier ça ne pouvais pas fonctionner. Conclusion j'ai ce problème de régler grace à toi pour cette fichu ligne
je te remercie et bonne journée
Je suis un gros imbécile, lorsque j'ai fait un print_r rien ne s'affichais alors je me suis dit bizarre. En fait sur mon serveur j'exportais pas le bon fichier ça ne pouvais pas fonctionner. Conclusion j'ai ce problème de régler grace à toi pour cette fichu ligne
$presents = isset($_POST['presents']) ? $_POST['presents'] : NULL;
je te remercie et bonne journée