Modérateur PHPfrance |
8758 Messages
02 mai 2013, 10:25
salut,
J'suis trop lent z'avez répondue entre temps mais je poste quand même
la fonction isset retourne un booleen (true / false => vrai / faux).
tu définie la variable $row avant le while.
lorsque la structure while évalue la condition : isset($row) elle à comme résultat true (car effectivement $row existe).
La traduction d'une boucle while c'est tant que. Donc ton code se traduit en tant que la variable $row existe affiche la ligne.
Ce code produit bien une boucle infinie.
ce que l'on test dans la boucle while c'est le retour de mysql_fetch_assoc (mysql_fetch_array etc etc) car cette (ces) fonction(s) retourne(nt) false lorsqu'il n'y a plus de résultat à fournir.
ton code devient donc
<?php
$query="SELECT id,nom_user,nb_co FROM jm_users ";
$req=mysql_query($query);
echo "<table>
<thead>
<tr>
<th>ID utilisateur</th>
<th>Nom utilisateur</th>
<th>Nombre connexion</th>
</tr>
</thead>
<tbody>";
while ($row=mysql_fetch_row($req);) {
echo '<tr>
<td>'.$row[0].'</td>
<td>'.$row[1].'</td>
<td>'.$row[2].'</td>
</tr>';
}
echo '</tbody></table>';
je te conseil :
- D'utiliser l'extension
mysqli plutot que l'extension mysql qui sera supprimer dans une future version
- D'utiliser la concaténation (comme je l'ai fait dans mon exemple) afin de rendre ton code plus lisible et d'éviter les erreurs d'interprétation de php (qui doit déterminier si tu veux $row ou $row[0] ou afficher la valeur de $rw plus [0] derrière etc etc.
- De lire ce
tuto sur la façon de récupérer les données d'une base de données mysql.
- De te renseigner sur l'utilisation des table html. Comme je te l'ai déja indiqué la balise th ne s'utilise que dans une balise thead.
@+
Il en faut peu pour être heureux ......