[PHP]1er enregistrement manquant
Bonjour a tous,
Voila je vais vous présenter un bout de code qui marche mais qui à un petit problème :
$ligne=1;
while($data = mysql_fetch_assoc($req))
{
is_int($ligne/2) ? $bgcolor="bgcolor=\"#EEEEEE\"" : $bgcolor=""; $ligne++;
// on affiche les informations de l'enregistrements en cours
echo "<tr align=\"center\" $bgcolor>
<td>".$data['NumSupp']."</td>
<td>".$data['NumEtab']."</td>
<td>".$data['TypeEtab']."</td>
<td>".$data['NomEtab']."</td>
</tr>\n";
}
les données sont bien retranscrites mais le 1er enregistrement ne s'affiche jamais!
comment faire pour afficher ce premier enregistrement?
Merci d'avance ciao
Voila je vais vous présenter un bout de code qui marche mais qui à un petit problème :
$ligne=1;
while($data = mysql_fetch_assoc($req))
{
is_int($ligne/2) ? $bgcolor="bgcolor=\"#EEEEEE\"" : $bgcolor=""; $ligne++;
// on affiche les informations de l'enregistrements en cours
echo "<tr align=\"center\" $bgcolor>
<td>".$data['NumSupp']."</td>
<td>".$data['NumEtab']."</td>
<td>".$data['TypeEtab']."</td>
<td>".$data['NomEtab']."</td>
</tr>\n";
}
les données sont bien retranscrites mais le 1er enregistrement ne s'affiche jamais!
comment faire pour afficher ce premier enregistrement?
Merci d'avance ciao
6 réponses
-
is_int($ligne/2) ? $bgcolor="bgcolor=\"#EEEEEE\"" : $bgcolor=""; $ligne++;
$ligne passe a 1 avant le traitement de quoi que ce soit, tu devari mettre $ligne++ avant la fin de la boucle, a part ca tout le reste a l'air correct -
Ca n'affecte en rien sur la boucle.
Je pense p-e que la requête ne retourne pas le premier élément voulu non ?
Est-ce qu'on peut voir le code depuis la requête ?
-
Je suis sur que ma requête affiche le 1er élément car je l'ai testé sous MySQL
-
et après ma requête j'ai :
$req = mysql_query($sql) or die('Erreur SQL !<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
et par la suite le code que je vous ai présenté -
enlève donc cette première
$data = mysql_fetch_assoc($req);
C'est elle qui te fait sauter la première ligne... -
Merci a toi wiwimagique! c'était vraiment une erreur toute bête!