Update avec while [Résolu]

Signaler
Messages postés
104
Date d'inscription
samedi 6 novembre 2004
Statut
Membre
Dernière intervention
19 août 2015
-
Messages postés
6
Date d'inscription
mardi 7 janvier 2003
Statut
Membre
Dernière intervention
10 février 2005
-
Bonjour,
Je modifie des enregistrements avec :

$ra = "update tacheu11 set ";
$ra.= "tache1='$tache1',tache2='$tache2',tache3='$tache3',tache4='$tache4',
tache5='$tache5',tache6='$tache6',tache7='$tache7',tache8='$tache8',
tache9='$tache9',tache10='$tache10'";
$ra.= "where nom='Tâches Term Bac'";
if(mysql_query($ra) == 0)
Erreur("impossible de modifier la ligne
");
else
print("Le tableau de : $nom est modifié");

Ceci marche bien, mais je voudrais le faire avec while, pour une raison que je ne dévellope pas ici.
je fais donc :

$i=2;
while ( $i != $nbr ){
$rb= "tache$i='$tache$i'";
$i++;
$rc=$rc.",".$rb;
}
$ra = "update tacheu11 set tache1='$tache1'$rc where nom='TP'";

mais ça ne marche pas, des numéros sont enregistrés et quand je regarde de plus près

"tache$i='$tache$i'" donne
tache1='ikkk',tache2='2',tache3='3',tache4='4'........
pour tache1 ça marche vu que je l'ai mis après le while à cause de la virgule.

Je ne sais pas si je suis clair, mais j'aimerais trouver une solution.
merçi

7 réponses

Messages postés
6
Date d'inscription
mardi 7 janvier 2003
Statut
Membre
Dernière intervention
10 février 2005

Bon je crois zavoir compris !
en fait tu veux afficher la variable tache1, tache2 ....
c'est pas très malin (perso j'aurai fais un tableau) mais bon...
donc pour afficher la variable tache1 par exemple il faut faire dans la boucle :
$rb
="update tacheuhhhh set ";

for ( $i=2;$i<$nbr;$i++ ){
$rb= "tache$i='".${"tache".$i}."'";
$rb.=($i<$nbr-1)?",":" ";
}
$rb.
"where nom'TP'";
c'est déjà un peu plus complexe!
++
@VinZ@
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Salut,



heu peux-tu être plus clair stp ?

Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
Messages postés
104
Date d'inscription
samedi 6 novembre 2004
Statut
Membre
Dernière intervention
19 août 2015

En gros comment faire un update matable set dans une boucle avec while sachant que mes champs ce nomment tache1,tache2,tache3 ......
Messages postés
369
Date d'inscription
samedi 4 septembre 2004
Statut
Membre
Dernière intervention
20 octobre 2013

Slt,

Ca reste toujours pas clair, et si tu expliquais ce que tu veux faire exactement ?
D'ou vient la variable $tache par exemple et que contient elle? Nous ne sommes pas derriere ton ecran, alors soit plus souple et plus claire dans tes explications si tu veux des réponses.

Merci
KOogar

http://www.phpsources.org
Messages postés
104
Date d'inscription
samedi 6 novembre 2004
Statut
Membre
Dernière intervention
19 août 2015

D'ou vient la variable $tache par exemple et que contient elle? Nous ne sommes pas derriere ton ecran, alors soit plus souple et plus claire dans tes explications si tu veux des réponses.

tache1,tache2,..... viennent d'un formulaire de modification, ce sont les "name" des texarea.
lorsque je fait envoyer dans mon formulaire je passe dans mon fichier de modification .
Là je fait un update dans la table correspondante et tache1,tache2.... sont les champs de la table. c'est pourquoi je fait tache1='$tache1',tache2='$tache2',.......avec un where pour modifier sur un seul enregistrement.
Si je veux faire cette manip c'est que je cherche a faire un ajout automatique de champ ( tachen).
merçi pour votre patience
Messages postés
104
Date d'inscription
samedi 6 novembre 2004
Statut
Membre
Dernière intervention
19 août 2015

Bravo !
Messages postés
6
Date d'inscription
mardi 7 janvier 2003
Statut
Membre
Dernière intervention
10 février 2005

Evidemment ..... (St Maclou)

PS : Désolé pour le bas niveau de ce post!

@VinZ@