8795 sujets

Développement web côté serveur, CMS

Eh oui, erreur classique.

Pourtant, je vois pas l'erreur ou alors j'deviens myope.

Voici mon bout de code :

$query1 = "SELECT id,id_arbre,nom,titre FROM menu WHERE profondeur=1";
$result1 = mysql_query($query1);
while($row1 = mysql_fetch_array($result1)) {
	echo '<dl>';
	echo '<dt><span>'.$row1['titre'].'</span></dt>';
	echo '<dd><ul>';
	$query2 = "SELECT id_arbre,nom,titre,id_parent FROM menu WHERE profondeur=2 AND id_parent = '".$row1['id']."'";
	$result2 = mysql_query($query2);
	while($row2 = mysql_fetch_array($result2)) {
		echo '<li><a href="index.php?cat='.$row1['nom'].'&rub='.$row2['nom'].'" title="'.$row2['titre'].'">'.$row2['titre'].'</a></li>';
	}
	echo '</ul></dd>';
	echo '</dl>';
}

L'erreur étant située sur la première requête.
Même erreur avec mysql_fetch_assoc();
Aucun problème de connexion à la base.

Si quelqu'un a une p'tite idée... Smiley smile
Modifié par PierreG (23 Jun 2008 - 18:51)
Salut,

tu y verrais déjà plus clair en affichant une éventuelle erreur :
$result1 = mysql_query($query1) or die(mysql_error());
ou en vérifiant que ta requête ramène bien un résultat :
echo mysql_num_rows($result1);

D'ailleurs, as-tu essayé de la lancer directement dans PhPMyadmin Smiley cligne ?

A+
Pardon, je n'ai pas précisé, mais j'ai essayé tout cela :
> mysql_num_rows = même erreur
> mysql_error ne retourne rien
> la requête marche dans phpmyadmin
hum, mon code était bel et bien bon, il semble que cela soit une erreur dans le nom de la base.
C'est réglé Smiley rolleyes
Alors je ne vois pas trop Smiley rolleyes ...

Personnellement je mets des espaces après les virgules
$query1 = "SELECT id, id_arbre, nom, titre FROM menu WHERE profondeur=1";
mais je ne pense pas que cela pose problème...

Tu peux essayer en ne ramenant qu'un champ
$query1 = "SELECT id FROM menu WHERE profondeur=1";

ou en enlevant la clause WHERE
$query1 = "SELECT id FROM menu";
histoire de cerner un peu mieux ce qui cloche
PierreG a écrit :
hum, mon code était bel et bien bon, il semble que cela soit une erreur dans le nom de la base.
C'est réglé Smiley rolleyes

Ah ben OK Smiley ravi !