Bonjour,
Dans ta boucle while, il n'y a rien qui dérrencie chaque passage. Donc pour php, toutes les valeurs sont identiques.
Il faut que chauqe "table" est en id unique.
Et si je ne trompe pas, un "name" d'un champs input de type "text", "date".... ne peut pas être un tableau.
Bonjour,
J'ai un problème avec mon code php , j'ai une page qui affiche un formulaire depuis une BDD et depuis cette page j'ai un bouton modifier qui renvoie a l'aide d'un form vers une page qui doit éffectuer l'update seulement voila lorsque que je modifie des valeurs dans mon form qui à plusieurs ligne l'update prends en compte que la dernière ligne et modifie toutes les valeurs de toutes les lignes avec cette dernière
Le code de l'affichage du form :
Le code de l'update
J'aimerais savoir pourquoi l'update récupere seulement les valeurs de la dernière ligne car je penses que mon " for ($i=0; $i < $nbligne; $i++)" remplace toute les valeurs par les valeurs de la dernière ligne, mais je ne sais pas si ce probleme viens peut être de la requête sql. Merci
10 réponses
Bonjour.
Dans cette partie du code, tu utilises la méthode fetch, sauf que si tu veux récupérer plusieurs enregistrements, il te faut utiliser la méthode fetchAll, car la méthode fetch ne retourne qu'un seul enregistrement :
PDOStatement::fetch — Récupère la ligne suivante d'un jeu de résultats PDO
Description :
Récupère une ligne depuis un jeu de résultats associé à l'objet PDOStatement. Le paramètre fetch_style détermine la façon dont PDO retourne la ligne.
Ok d'accord merci pour vos réponses , du coup si je comprends bien je dois utiliser un foreach à la place du while ?
Bon j'ai remplacé mon while par
j'ai bien toutes mes données de ma bdd qui s'affiche mais lorsque j'appuis sur modifier cela change toutes mes valeurs par ma dernière lignes j'ai encore le même probleme qu'au début , mais êtes vous sûr que ça vient pas de ma requête ? ou de mon for ?
@Lartak pourquoi lui faire modifier le fetch en fetchall ? le fetch fonctionne très bien dans un while
il ramène une ligne à la fois
Ah je viens de remarquer que ma requete changait toute ma table , et non seulement les lignes affichés, je voudrais savoir aussi comment récuperer les valeurs sélectionnées dans mes variables
j'ai donc fais ça
Mais j'obtiens des erreurs : Undefined index: email_user et Undefined index: nb_semaine
Mais j'obtiens des erreurs : Undefined index: email_user et Undefined index: nb_semaine
Ceci veux tout simplement dire, que tu cherche à utiliser une variable dont l'index est non définie, donc dans ton cas :
Soit deux index qui appartiennent à un autre formulaire que celui des index précédents, alors qu'il est normalement impossible de soumettre deux formulaires en même temps (tout du moins seulement avec PHP).
Oui j'ai essayé mais j'obtiens que des undefined index au niveau des lignes
j'ai fais quelques modif depuis l'autre jour j'ai tout sur la même page avec un seul formulaire mais j'ai toujours le même probleme cette fois c'est lorsque je modifie la deuxième ligne de mon tableau que prend en compte le changement de toutes mes lignes et je ne sais pas pourquoi
si quelqu'un pourait m'aider merci beaucoup
Vous avez essayé ce que je vous ai dit ?