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 : 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;
	}
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 : 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
au lieu de :

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
la fonction mydb::fetch_assoc() est la suivante :

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;
	}
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