Itérations boucle FOR
6 messages
• Page 1 sur 1
- hx.jonathan
- WRInaute discret

- Messages: 162
- Inscription: 2 Mar 2005
Itérations boucle FOR
Je fais une petite interface de maintenance pour site web.
J'ai une page qui affiche mes enregistrements et une autre qui me sert à mettre à jour les enregistrements dans ma base de données. L'ensemble fonctionne impeccablement sauf UNE chose.
Je voudrais que ma boucle (qui sert à faire l'UPDATE de ma table) boucle autant de fois qu'il y a d'enregistrement dans ma requête.
Je sais que cela doit se mettre dans:
avec une variable. Mais comme ma boucle est sur une autre page php que celle où j'affiche mes enregistrements, je ne sais pas trop.
D'avance merci à tous.
Voici mes deux pages :
AFFICHAGE :
MISE A JOUR :
J'ai une page qui affiche mes enregistrements et une autre qui me sert à mettre à jour les enregistrements dans ma base de données. L'ensemble fonctionne impeccablement sauf UNE chose.
Je voudrais que ma boucle (qui sert à faire l'UPDATE de ma table) boucle autant de fois qu'il y a d'enregistrement dans ma requête.
Je sais que cela doit se mettre dans:
- Code: Tout sélectionner
for($i=1; $i< ICI;$i++)
avec une variable. Mais comme ma boucle est sur une autre page php que celle où j'affiche mes enregistrements, je ne sais pas trop.
D'avance merci à tous.
Voici mes deux pages :
AFFICHAGE :
- Code: Tout sélectionner
//connexion BDD
connexion_DB('bd_club');
// REQUETE SQL
$res2 = mysql_query('SELECT * FROM activites');
print '<form method="POST" action=check.php>';
//boucle
$cpt=0;
while($row2 = mysql_fetch_array($res2))
{
$cpt++;
$ID_ACTIV=$row2['ID_ACTIV'];
$annee=$row2['annee'];
//affichage enregistrements
print "<input type='hidden' name='ID_ACTIV' size='1' value='$ID_ACTIV'></input>";
print "<input type='text' name= 'annee".$cpt."' size='5' value='$annee'></input>";
echo "<br />";
}
echo "<br />";
print '<div align="center"><input type="submit" name="envoie" VALUE="Enregistrer les modifications"></div>';
print '</form>';
mysql_close();
?>
MISE A JOUR :
- Code: Tout sélectionner
<?php
include_once 'fonctions.php';
connexion_DB('bd_club');
if (isset($_POST['annee'])){
$annee=$POST_['annee'];
}
for($i=1; $i<4;$i++){
$VarDynAnnee='annee'.$i;
$sql = "UPDATE activites SET annee = '".$_POST[$VarDynAnnee]."'WHERE ID_ACTIV = '$i'";
echo "<br/>".$sql;
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
}
header("Location:http://127.0.0.1/absence/index.php?page=03");
?>
-

erestrebian - WRInaute occasionnel

- Messages: 460
- Inscription: 15 Juin 2007
je te conseille deux choses dans ta première page :
change le nom de ton input, ça évite les confusion appelle le : idact[$cpt] et le second annee[$cpt], comme ça tu as deux variables-tableaux, ça me semble plus facile à gérer que beaucoup de variables.
ensuite tu peux rajouter un autre hidden dans lequel tu mets en valeur le $cpt, ce qui te permet de récupérer le nombre de fois qu'il faut que tu fasses ta boucle sur la page suivante.
si ça ne te convient pas tu peux toujours compter le nombre d'entrées qu'il y a dans le tableau annee[]....
change le nom de ton input, ça évite les confusion appelle le : idact[$cpt] et le second annee[$cpt], comme ça tu as deux variables-tableaux, ça me semble plus facile à gérer que beaucoup de variables.
ensuite tu peux rajouter un autre hidden dans lequel tu mets en valeur le $cpt, ce qui te permet de récupérer le nombre de fois qu'il faut que tu fasses ta boucle sur la page suivante.
si ça ne te convient pas tu peux toujours compter le nombre d'entrées qu'il y a dans le tableau annee[]....
- hx.jonathan
- WRInaute discret

- Messages: 162
- Inscription: 2 Mar 2005
Désolé mais j'ai essayé avec ton select count mais ça na marche pas.
J'ai fais ceci :
J'ai fais ceci :
- Code: Tout sélectionner
<?php
include_once 'fonctions.php';
connexion_DB('bd_club');
if (isset($_POST['annee'])){
$annee=$POST_['annee'];
}
$test= mysql_query('SELECT Count(*) FROM activites');
for($i=1; $i<$test;$i++){
$VarDynAnnee='annee'.$i;
echo $test;
$sql = "UPDATE activites SET annee = '".$_POST[$VarDynAnnee]."'WHERE ID_ACTIV = '$i'";
echo "<br/>".$sql;
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
}
-

lupuz - WRInaute discret

- Messages: 212
- Inscription: 15 Mar 2006
Ton erreur est là :
mysql_query() te revoit une resource, pas une valeur que tu peux utiliser.
Il faut que tu la "traite" avant de l'utiliser, avec un mysql_fetch_row() par exemple.
ton code sera donc :
- Code: Tout sélectionner
...
$test= mysql_query('SELECT Count(*) FROM activites');
for($i=1; $i<$test;$i++){
...
mysql_query() te revoit une resource, pas une valeur que tu peux utiliser.
Il faut que tu la "traite" avant de l'utiliser, avec un mysql_fetch_row() par exemple.
ton code sera donc :
- Code: Tout sélectionner
...
$test= mysql_query('SELECT Count(*) FROM activites');
$row = mysql_fetch_row($test)
for($i=1; $i<$row[0];$i++){
...
6 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- boucle while
- Décrémentation + boucle while
- pb de boucle infinie...
- Boucle infinie...
- Help redirection qui boucle !
- Boucle PHP et variables
- Boucle(pas=5)en php??
- Réécriture en boucle partielle.
- Boucle avec php
- [Php] Problème de boucle
- boucle d'image en php
- Problème de boucle (regex)
- RewriteRule Expression reguliere et boucle
- URL Rewriting qui boucle?
- Erreur 404 qui boucle
- MSN HRS : des éditeurs de MSN évaluent la qualité des sites web - 02-12-2005
- Suivre le Tour de France 2008 avec Google Street View - 03-07-2008
- Google se lance dans la recherche de blogs - 14-09-2005
- Google API : guide de développement de l'API Google - 20-09-2002
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
