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.
les fonctions de la classe "h" sont des fonctions générant du html, u::decode sert pour décoder l'utf8.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
et le résultat donne :
au lieu de :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
la fonction mydb::fetch_assoc() est la suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 function fetch_assoc($result) { $resultTable = mysql_fetch_assoc($result); return $resultTable; }
Cordialement,
mathias
Partager