Boucle (while) de Update

Signaler
Messages postés
10
Date d'inscription
mercredi 1 novembre 2000
Statut
Membre
Dernière intervention
9 août 2005
-
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
-
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

Messages postés
56
Date d'inscription
mardi 4 janvier 2005
Statut
Membre
Dernière intervention
10 octobre 2005

Essaies d'eclaircir ta question, plus de details STP
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
4
Ton query ne doit pas marcher :



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



préfère :



id = '".$result1['id']."' ");
Messages postés
10
Date d'inscription
mercredi 1 novembre 2000
Statut
Membre
Dernière intervention
9 août 2005

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 ?????
Messages postés
56
Date d'inscription
mardi 4 janvier 2005
Statut
Membre
Dernière intervention
10 octobre 2005

Essaies de clarifier la chose, donne plus de details et on essaiera de te trouver la soluce
Messages postés
10
Date d'inscription
mercredi 1 novembre 2000
Statut
Membre
Dernière intervention
9 août 2005

je pense pourtant etre clair... que voulez vous savoir d'autre.
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
4
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
Messages postés
10
Date d'inscription
mercredi 1 novembre 2000
Statut
Membre
Dernière intervention
9 août 2005

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..
Messages postés
10
Date d'inscription
mercredi 1 novembre 2000
Statut
Membre
Dernière intervention
9 août 2005

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..
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
4
$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 !
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
4
Me suis trompé :



mysql_query("Update $table Set
joue='$joue',remplacant='$remplacant',cartonj='$cartonj',cartonr='$cartonr',
but='$but' where id =$x");
Messages postés
10
Date d'inscription
mercredi 1 novembre 2000
Statut
Membre
Dernière intervention
9 août 2005

Mon code mal ecrit ? Un débutant comprendrai !
Messages postés
10
Date d'inscription
mercredi 1 novembre 2000
Statut
Membre
Dernière intervention
9 août 2005

ton $x c'est quoi ??

Si je veut changer l'id 04649 et ensuite l'id 97962656 je fait comment ???
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
4
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...