Pb bizarre sur un while

[Résolu]
Signaler
Messages postés
75
Date d'inscription
lundi 1 avril 2002
Statut
Membre
Dernière intervention
3 juin 2012
-
Messages postés
75
Date d'inscription
lundi 1 avril 2002
Statut
Membre
Dernière intervention
3 juin 2012
-
Bonjour, j'ai un problème que je n'ai pas d'habitude de voir, puisque j'utilise ce bout de code à chaque fois.

En effet, ma requete me retourne par ex 4 enregistrements, et bien seules les 3 dernieres lignes s'affichent ($nbre_rslt -1).

Voici le bout mon code incriminé :


 <?

$sql "SELECT * FROM `tbl_planif` WHERE `ID_struc` $ID_struc ORDER BY `date_debut` ASC";

            $req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());

            $data = mysql_fetch_array($req);

            $nbre_rslt = mysql_num_rows($req);

           

           

            if ($nbre_rslt != 0)

             {

             while($data = mysql_fetch_array($req))

            {

            echo $data['ID_planif'];

            }

            }

             else

            {

            echo "Aucun enregistrement";

            }

?>


PS: Désolé, mais j'ai pas trouvé le bouton "code".

4 réponses

Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Hello,

$data = mysql_fetch_array($req); // ICI, tu vas chercher le 1er jeu de résultat, et tu déplaces le pointeur sur la 2d jeu (2ème ligne).
            $nbre_rslt = mysql_num_rows($req);
           
           
            if ($nbre_rslt != 0)
             {
             while($data = mysql_fetch_array($req)) // là tu vas chercher la suite, donc à partir de la 2de ligne.
            {
            echo $data['ID_planif'];
            }
            }
             else
            {
            echo "Aucun enregistrement";
            }

En clair, tu as un $data = mysql_fetch_array($req); en trop.
Messages postés
591
Date d'inscription
mercredi 20 juillet 2005
Statut
Membre
Dernière intervention
16 juillet 2009
2
Saell og blesuð
$nbre_rslt mysql_num_rows($data); et non pas de $nbre_rslt mysql_num_rows($req);

Vilhjálms Sigurðsdóttir aka Frëyjá
Messages postés
591
Date d'inscription
mercredi 20 juillet 2005
Statut
Membre
Dernière intervention
16 juillet 2009
2
Saell og blesuð

J ai rien dis et je vais me coucher :-(



Vilhjálms
Sigurðsdóttir aka Frëyjá
Messages postés
75
Date d'inscription
lundi 1 avril 2002
Statut
Membre
Dernière intervention
3 juin 2012

Merci bcp !

J'avais pas fé gaffe !!!