C'est normal étant donné qu'une ligne est consommée bien avant, par cette ligne :
$row = mysql_fetch_array($result) ;
Ce qui, d'ailleurs, est "faux" si jamais il n'y avait aucun résultat puisque vous cherchez à exploiter cette première ligne sans aucun contrôle par les instructions :
1 2
| $histoire = $row['histoire'] ;
$photo = $row['photo'] ; |
Au choix :
* Supprimez ce mysql_fetch_array, puisque mysql_num_rows/$total effectue ce contrôle :
1 2 3 4 5 6 7 8 9
| $result = mysql_query($select, $link);
if (mysql_num_rows($result) > 0) {
// au moins un résultat
while ($row = mysql_fetch_assoc($result)) {
// "affichage" de $row
}
} else {
// aucun résultat
} |
* Sinon supprimez mysql_num_rows/$total et utilisez une boucle do/while :
1 2 3 4 5 6 7 8 9
| $result = mysql_query($select, $link);
if (FALSE !== ($row = mysql_fetch_assoc($result))) {
// au moins un résultat
do {
// "affichage" de $row
} while ($row = mysql_fetch_assoc($result));
} else {
// aucun résultat
} |
PS : bizarre la requête ...
PPS : oublie != oubli
Partager