Bonjour à tous,
J'ai sur une page php un tableau pour l'organisation d'un voyage. qui me sert à pointer des retours de documents de chaque participant (voir image ci-dessous où j'ai sabré quelques colonnes histoire de rester lisible). Je peux modifier individuellement chaque participant grâce au lien "modifier" à droite. Et ça roule.
Mais modifier chaque personne individuellement quand on rentre beaucoup de papiers est fastidieux. J'aimerais donc pouvoir modifier mon tableau "à la volée" et faire l'update de tous les enregistrements d'un coup.
J'ai réussi à récupérer les infos de la base sous forme de champs modifiables ou de cases à cocher. C'est l'envoi des données qui me pose problème. J'ai tenté de coder le truc mais je me heurte à plusieurs problèmes/questions, malgré la consultation de pas mal de sujets déjà postés sur divers forum.
1° je suppose que mon tableau doit être inséré dans un formulaire?
Après le clic sur le submit s'ouvre le fichier "modification.php" qui réalise l'update. Et les problèmes commencent...
2° je tente de récupérer mes données sous forme de tableau:
Si je fais un var_dump($tableau1), j'arrive bien à voir que j'ai récupéré les différents champs, mais si je fais un var_dump($tableau1['nom']) il me renvoie "null".
3° j'imagine que je dois utiliser un foreach pour parcourir mon tableau. Voici la structure de mon code pour la mise à jour:
Mais ça ne fonctionne pas: aucun enregistrement ne se met à jour. Et je n'ai aucun message d'erreur ...
Quelqu'un aurait une piste? Je sèche un petit peu...
Merci d'avance!
Modifié par bouffandt (17 Nov 2018 - 23:47)
J'ai sur une page php un tableau pour l'organisation d'un voyage. qui me sert à pointer des retours de documents de chaque participant (voir image ci-dessous où j'ai sabré quelques colonnes histoire de rester lisible). Je peux modifier individuellement chaque participant grâce au lien "modifier" à droite. Et ça roule.
Mais modifier chaque personne individuellement quand on rentre beaucoup de papiers est fastidieux. J'aimerais donc pouvoir modifier mon tableau "à la volée" et faire l'update de tous les enregistrements d'un coup.
J'ai réussi à récupérer les infos de la base sous forme de champs modifiables ou de cases à cocher. C'est l'envoi des données qui me pose problème. J'ai tenté de coder le truc mais je me heurte à plusieurs problèmes/questions, malgré la consultation de pas mal de sujets déjà postés sur divers forum.
1° je suppose que mon tableau doit être inséré dans un formulaire?
<form name="tableau" action="modification.php" method="post">
<table>
//ma super table ici
</table>
<submit type="submit" name="submit" Value="Enregistrer les modifications">
</form>
Après le clic sur le submit s'ouvre le fichier "modification.php" qui réalise l'update. Et les problèmes commencent...
2° je tente de récupérer mes données sous forme de tableau:
//récupération de tout ça dans un tableau
$tableau1 = array ('ID', 'nom', 'prenom', 'classe', 'ficheidentification');
Si je fais un var_dump($tableau1), j'arrive bien à voir que j'ai récupéré les différents champs, mais si je fais un var_dump($tableau1['nom']) il me renvoie "null".
3° j'imagine que je dois utiliser un foreach pour parcourir mon tableau. Voici la structure de mon code pour la mise à jour:
foreach($tableau1 as $value) {
//création de la requête SQL:
$maj=$bdd->query("UPDATE test SET nom = ':nom', prenom = ':prenom', classe = ':classe', ficheidentification=':ficheidentification' WHERE ID = ':ID'");
//exécution de la requête SQL:
$maj->execute(array(':nom'=>$tableau1['nom'],':prenom'=>$tableau1['prenom'],':classe'=>$tableau1['classe'],':ficheidentification'=>$tableau1['ficheidentification']':ID'=>$tableau1['ID']));
}
Mais ça ne fonctionne pas: aucun enregistrement ne se met à jour. Et je n'ai aucun message d'erreur ...
Quelqu'un aurait une piste? Je sèche un petit peu...
Merci d'avance!
Modifié par bouffandt (17 Nov 2018 - 23:47)