mysql_fetch_assoc renvoi n - 1 résultats
Bonjour à tous,
J'ai fait une petite fonction pour afficher des résultats suivant la requête envoyée, le tableau de résultat étant créé à la volée, et le problème est que mysql_fetch_assoc ne renvoi pas le premier résultat.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
function getResult($display=false)
{
$result = $this->db->query($this->query);
$res = $result;
$nb = $this->db->num_rows($result);
// the table :
$html .= h::oTable();
// titles :
$html .= h::oRow();
$item = $this->db->fetch_assoc($res);
foreach($item as $key => $value)
{
$html .= h::pCell(h::b($key));
}
$html .= h::cRow();
// datas
$i = 0;
while($item = $this->db->fetch_assoc($result))
{
$item = u::decode($item);
$html .= h::oRow();
foreach($item as $key => $value)
{
$html .= h::pCell(stripslashes($value));
}
$html .= h::cRow();
$i++;
}
echo 'nb de tours : '.$i.h::br();
echo 'nb de réponses : '.$nb.h::br();
$html .= h::cTable();
if($display) echo $html;
else return $html;
} |
les fonctions de la classe "h" sont des fonctions générant du html, u::decode sert pour décoder l'utf8.
et le résultat donne :
Code:
1 2 3 4 5 6 7 8
|
nb de tours : 4
nb de réponses : 5
statusID status_label
2 confirmed
3 accepted
4 staff
9 rejected |
au lieu de :
Code:
1 2 3 4 5 6 7 8 9
|
nb de tours : 5
nb de réponses : 5
statusID status_label
1 unconfirmed
2 confirmed
3 accepted
4 staff
9 rejected |
la fonction mydb::fetch_assoc() est la suivante :
Code:
1 2 3 4 5 6
|
function fetch_assoc($result)
{
$resultTable = mysql_fetch_assoc($result);
return $resultTable;
} |
Je ne vois pas vraiment pas pourquoi ce fetch_assoc ne renvoi pas le premier résultat, si quelqu'un pouvait m'aider, ce serait fort sympa :)
Cordialement,
mathias