Boucle (while) de Update

crislemon Messages postés 10 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 9 août 2005 - 1 août 2005 à 17:31
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 - 10 août 2005 à 23:47
Bonjour,
Voici mon probleme, j'aimerai effectuer des update en boucle sur une des mes table.
en bas c le debut de mon code...

if($_POST["statsjoueur"])
{
$req = mysql_query("SELECT * from $table");
while ( $result1 = mysql_fetch_array($req) )
{
mysql_query("Update $table Set joue='$joue',remplacant='$remplacant',cartonj='$cartonj',cartonr='$cartonr', but='$but' where id ='$result1[id]'");

}
}

$gardien = mysql_query("SELECT * from $table where club='$club' ORDER BY `nom` ASC ");

echo '<form method="post" action="mapage.php">';
while ( $result = mysql_fetch_array($gardien) )
{
echo ''.$result[nom].' '.$result[prenom].'





';}
echo '
</form>';

13 réponses

sephiroth1020 Messages postés 56 Date d'inscription mardi 4 janvier 2005 Statut Membre Dernière intervention 10 octobre 2005
1 août 2005 à 17:45
Essaies d'eclaircir ta question, plus de details STP
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
1 août 2005 à 20:52
Ton query ne doit pas marcher :



id ='$result1[id]'");



préfère :



id = '".$result1['id']."' ");
0
crislemon Messages postés 10 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 9 août 2005
2 août 2005 à 18:49
Non ce n'est pas ça ! il n'y a pas d'erreur dans mon code . le probleme c'est que les infos sont les memes pour toutes les id.

Il faut je pense dans mon formulaire diferencier les infos de chaque id (joue,remplacant,but,cartonj et cartonr).

Mais comment faire ?????
0
sephiroth1020 Messages postés 56 Date d'inscription mardi 4 janvier 2005 Statut Membre Dernière intervention 10 octobre 2005
3 août 2005 à 11:49
Essaies de clarifier la chose, donne plus de details et on essaiera de te trouver la soluce
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
crislemon Messages postés 10 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 9 août 2005
3 août 2005 à 20:26
je pense pourtant etre clair... que voulez vous savoir d'autre.
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
3 août 2005 à 20:53
mysql_query("Update $table Set
joue='$joue',remplacant='$remplacant',cartonj='$cartonj',cartonr='$cartonr',
but='$but' where id ='$result1[id]'");



Normal que ca marche pas ...



Remplace tes variables par $_POST['tavariable'] pour commencer. Donc :

$joue devient $_POST['joue'] etc...



Et la ca marche :o
0
crislemon Messages postés 10 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 9 août 2005
4 août 2005 à 20:40
Cela ne vient de la !! je repete le code fonctionne tres bien mais pas comme je le voudrai ! je veu changer plusieur champ ( 5 et meme nom de champs !) pour plusieur id .

exemple de ma boucle que je voudrai :

joue,remplacant,cartonj,cartonr,but pour l'id 01
joue,remplacant,cartonj,cartonr,but pour l'id 02
joue,remplacant,cartonj,cartonr,but pour l'id 03
etc...

le probleme ? comment pour differencier les valeurs "joue,rempl..." pour 01 et 02 et 03 etc..
0
crislemon Messages postés 10 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 9 août 2005
8 août 2005 à 10:44
Je relance le sujet ....


exemple de ma boucle que je voudrai :

joue,remplacant,cartonj,cartonr,but pour l'id 01
joue,remplacant,cartonj,cartonr,but pour l'id 02
joue,remplacant,cartonj,cartonr,but pour l'id 03
etc...

le probleme ? comment pour differencier les valeurs "joue,rempl..." pour 01 et 02 et 03 etc..
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
8 août 2005 à 18:48
$x = 1;

while ( $result1 = mysql_fetch_array($req) )

{

mysql_query("Update
$table Set
joue='$joue',remplacant='$remplacant',cartonj='$cartonj',cartonr='$cartonr',
but='$but' where id ='$result1[$x]'");

$x++;

}



Et ton code est mal écrit... va pas me dire que y'a pas d'erreur. Si il
faut mettre 15 jours pour pouvoir comprendre ton code, c'est normal
qu'on trouve pas tout de suite.

Commence par écrire proprement, ce que je t'ai donné est un début.

Et en même temps, pose un peu mieux tes questions, on est pas censé connaitre le fond de tes .... idées !
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
8 août 2005 à 18:48
Me suis trompé :



mysql_query("Update $table Set
joue='$joue',remplacant='$remplacant',cartonj='$cartonj',cartonr='$cartonr',
but='$but' where id =$x");
0
crislemon Messages postés 10 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 9 août 2005
9 août 2005 à 19:13
Mon code mal ecrit ? Un débutant comprendrai !
0
crislemon Messages postés 10 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 9 août 2005
9 août 2005 à 19:16
ton $x c'est quoi ??

Si je veut changer l'id 04649 et ensuite l'id 97962656 je fait comment ???
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
10 août 2005 à 23:47
Ouh la, faudrait savoir ce que tu veux lol !



Si c'est pour changer l'ID à chaque fois, fait une fonction genre :



function change($id) {

global $joue,$remplacant,$cartonj,$cartonr,$but,$table;



mysql_query("Update $table Set
joue='$joue',remplacant='$remplacant',cartonj='$cartonj',cartonr='$cartonr',
but='$but' where id =$id");

}

Et tu appèle change() autant de fois que nécessaire.

Par exemple, changer l'id de 3204932, tu fais :



change(3204932);



Et puis voila !Maintenant, si tu veux faire une boucle, c'est autre
chose. Faut pas tout mélanger ! Parce qu'avec ton while(), tu updatais
TOUS tes enregistrements ! Alors que maintenant, tu veux en updater que
certains...
0