JeuWeb - Crée ton jeu par navigateur
- [Réglé] - Requete S.Q.L - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : - [Réglé] - Requete S.Q.L (/showthread.php?tid=1793)



- [Réglé] - Requete S.Q.L - Single Dark - 23-09-2007

Bien le bonjours à vous,

Voilà, comme souvent, j'ai un p'tit problème, mais là, je fait au plus simple, et je n'ai toujours pas la solution à mon problème.

Contexte :

Je suis actuellement dans la construction du script pour mes batiments, et le problèmes c'est que je n'arrive a liste toute ma table

Problème :

Je posse mes scripts :

1°) Requete SQL :

Code PHP :
<?php 
// On recup les infos de la planete // Mine de Fer//
$requete_fer = mysql_query("SELECT * FROM planete_mine_fer WHERE id_planete='" . $_SESSION['id_planete'] . "'") or die (mysql_error());
$sql_bat_fer = mysql_fetch_assoc($requete_fer);
//

2°) Affichage de la requete :

Code PHP :
<?php 
while ($donnees = mysql_fetch_assoc($requete_fer) )
{
echo
'Test : ' . $donnees['id_mines'] . '<br><br>';
}

3°) Ma table (planete_mine_fer) :

|.id_planete.|.id_mines.|.comps_1.|.comps_2.|.comps_3.|
|......1........|......1......|....0........|.....0......|.......0......|
|......1........|......2......|....1........|.....0......|.......0......|
|......1........|.......3.....|......2......|.....1......|.......0......|

4°) Le résultat :

Test : 2

Test : 3

Donc la premiere ligne de la table ne s'affiche pas. J'ai eu beau retourné le problème dans tous les sens, pfff, rien. Donc si quelqu'un connais la reponse, merci de me la donnée...


RE: Requete S.Q.L - Loetheri - 23-09-2007

Tu fais
Code PHP :
<?php 
$sql_bat_fer
= mysql_fetch_assoc($requete_fer);
Puis
Code PHP :
<?php 
while ($donnees = mysql_fetch_assoc($requete_fer) )

La première ligne est déjà lu lors du premier mysql_fetch_assoc ... Donc tu ne sais plus la récupérer.


RE: Requete S.Q.L - Harparine - 23-09-2007

Salut ! Je pense que c'est cette ligne qui fout ton système en l'air :
Code PHP :
<?php 
$sql_bat_fer
= mysql_fetch_assoc($requete_fer);

D'une part, elle n'a pas d'utilité puisque tu la répètes dans la condition de ton while et surtout, les fonctions mysql_fetch_... passent automatiquement à la ligne suivante lorsqu'une ligne a été stockée dans un array.

Donc ici, le code que je viens de citer stocke la première ligne de ta requête dans $sql_bat_fer et déplace le "curseur de lecture" au début de la deuxième, ce qui explique que tu n'aies plus la première ligne lors de ton deuxième appel à mysql_fetch_assoc.

EDIT : Loetheri, t'as été plus rapide Smile


RE: Requete S.Q.L - Single Dark - 23-09-2007

Bon, ok puisse que c'est comme çà, je vais m'enterrer au fond du jardin...

MERCI