probleme pour recuperer des donnees d'une base MySQL [PHP/MySQL] - Programmation
Marsh Posté le 22-03-2002 à 18:52:37
c'est quoi ce point virgule après l'accolade fermante de ton for ???
là --> };
enlève le please
[jfdsdjhfuetppo]--Message édité par THE REAL SMILEY--[/jfdsdjhfuetppo]
Marsh Posté le 22-03-2002 à 19:48:21
for ($rows = mysql_fetch_array($result); $i<5; $i++)
La partie en gras n'est exécutée qu'à l'entrée dans la boucle.
donc tu lit 5 fois le contenu de $rows, mais sans le mettre à jour.
Marsh Posté le 22-03-2002 à 19:50:38
bjbebert a écrit a écrit : for ($rows = mysql_fetch_array($result); $i<5; $i++) La partie en gras n'est exécutée qu'à l'entrée dans la boucle. donc tu lit 5 fois le contenu de $rows, mais sans le mettre à jour. |
spa vrai, c'est éxécuté à chaque fois
Marsh Posté le 22-03-2002 à 20:21:48
essaye ca :
$query = "select date_news, time_news from news";
$result = mysql_query($query, $db);
while (list($date,$time)=mysql_fetch_row($result))
{
echo "Message posté le $date $time";
}
Marsh Posté le 22-03-2002 à 20:37:52
THE REAL SMILEY a écrit a écrit : spa vrai, c'est éxécuté à chaque fois |
Je suis d'accord avec bjbebert , dans une boucle for, la première partie sert à l'initialisation de la boucle et n'est donc exécutée qu'au début de la boucle.
De plus je ne le vois pas initialiser la variable $i
Je pense que c'est plutôt ça qu'il veut faire :
for ($i=0; $i<5; $i++, $rows = mysql_fetch_array($result))
...
Même si ce serait mieux de mettre le '$rows = ...' dans la boucle.
Marsh Posté le 22-03-2002 à 20:42:29
Tentacle a écrit a écrit : Je suis d'accord avec bjbebert , dans une boucle for, la première partie sert à l'initialisation de la boucle et n'est donc exécutée qu'au début de la boucle. De plus je ne le vois pas initialiser la variable $i Je pense que c'est plutôt ça qu'il veut faire : for ($i=0; $i<5; $i++, $rows = mysql_fetch_array($result)) ... Même si ce serait mieux de mettre le '$rows = ...' dans la boucle. |
Ouh la, mais c'est bien sûr !!!
je suis peu habitué à voir for() utilisé ainsi, ca m'a un peu déstabilisé
Marsh Posté le 22-03-2002 à 20:44:05
Citation : Je pense que c'est plutôt ça qu'il veut faire : |
sauf qu'il faut initialiser $rows avant de rentrer dans la boucle donc ca serait plutot :
$rows = mysql_fetch_array($result);
for ($i=0; $i<4; $i++, $rows = mysql_fetch_array($result))
{
...
}
Marsh Posté le 22-03-2002 à 20:45:08
THE REAL SMILEY a écrit a écrit : Ouh la, mais c'est bien sûr !!! je suis peu habitué à voir for() utilisé ainsi, ca m'a un peu déstabilisé |
Oui d'ailleurs j'ai pas trop compris pourquoi pouletvole a mis cette assignation dans l'entête du for
Marsh Posté le 22-03-2002 à 20:46:47
[citation][nom]HappyHarry a écrit[/nomsauf qu'il faut initialiser $rows avant de rentrer dans la boucle donc ca serait plutot :
$rows = mysql_fetch_array($result);
for ($i=0; $i<4; $i++, $rows = mysql_fetch_array($result))
{
...
}
[/citation]
nonon... il veut récupérer une nouvelle ligne de $result à chaque itération de la boucle for... donc soit il le met DANS la boucle for, soit à côté de $i++
[jfdsdjhfuetppo]--Message édité par Tentacle--[/jfdsdjhfuetppo]
Marsh Posté le 22-03-2002 à 20:48:46
euh .. revise ta boucle for ...
a chaque fin d'iteration, i va etre incrementé, ET rows va etre mis a jour avec la ligne suivante du resultat de la requete
cf derniere partie de l'entete de la boucle for
Marsh Posté le 22-03-2002 à 20:59:29
HappyHarry a écrit a écrit : euh .. revise ta boucle for ... a chaque fin d'iteration, i va etre incrementé, ET rows va etre mis a jour avec la ligne suivante du resultat de la requete cf derniere partie de l'entete de la boucle for |
argh ! oups j'avais pas vu que tu avais laissé le 'rows = ...' dans la boucle for. Effectivement tu as raison, dans mon cas, la ligne ne serait mise jour que après la première itération...
Mais dans tout les cas, il ferait mieux de mettre cette assignation dans la boucle et non pas dans l'entête... ça lui facilitera la tâche
Marsh Posté le 22-03-2002 à 21:00:49
HappyHarry a écrit a écrit : la dessus on est d'accord |
comme quoi on peut tous faire des erreurs
Même sur des trucs aussi basiques (et surtout ?)
[jfdsdjhfuetppo]--Message édité par Tentacle--[/jfdsdjhfuetppo]
Marsh Posté le 22-03-2002 à 21:56:17
Merci pour vos reponses, je vais essayer de ce pas ce que vous m'avez dit
Je debute en php je connais pas encore bien les fonctions
ms chose bizarre ce script a marche hier et ce soir y marchait plus et c'est ce point la qui me faisait bloquer
Encore merci
A+
Marsh Posté le 22-03-2002 à 22:04:38
Ben vi c ca on s'achete un livre et on veut faire le grand !!!
alors on tape n'importe koi mais au fait tu comprends ce ke tu tapes ????
Et arrete de lire le soir apres l'apero c normal ke tu comprend rien !!! et ke t'as l'impression ke ca marche le soir alors ke le matin kan t'es sobre (koike...) ca marche plus !!!
Voila, voila @+ pitit poulet !!
Ton meilleur pote jusqu'a aujourd'hui
Marsh Posté le 22-03-2002 à 22:13:49
Merci pour ton soutien Nicoo
Tu critiques ms bon file pas l'adresse de ton site ds ce cas
A+
Marsh Posté le 22-03-2002 à 18:48:24
Salut,
Je fais une page pour un site qui indique les news mais j'ai un probleme car il affiche toujours la meme ligne au lieu de changer a chaque fois
Je vous laisse le code un peu simplifier de ma fonction
<?
@ $db = mysql_connect ( "localhost" , "root" , "" );
if (!$db)
echo "erreur";
mysql_select_db(base);
$query = "select date_news, time_news from news";
$result = mysql_query($query, $db);
for ($rows = mysql_fetch_array($result); $i<5; $i++)
{
$date = $rows["date_news"];
$time = $rows["time_news"];
echo "Message poste le $date à $time<br>";
};
?>
Merci d'avance pour votre aide car la je commence a m'enerver un peu dessus