Je veux afficher le menu de la base de données mysql. C'est ce que j'ai essayé jusqu'à présent et je ne sais pas ce que l'erreur est. J'apprécie toute aide. J'ai posté la table que je veux afficher et l'erreur que je suisobtenir des données hiérarchiques de mysql
Attention: mysql_fetch_assoc() attend le paramètre 1 pour être ressource, booléenne donnée dans C: \ wamp \ www \ seconde _try \ eCRA.php sur la ligne 18
<?php
function display_menu($parent, $level) {
$query=mysql_query("SELECT n.id, n.menu_name, n.link, d.count FROM 'menu' n
LEFT OUTER JOIN(SELECT parent, COUNT (*) AS count FROM 'menu' GROUP BY
parent) d ON n.id=d.parent W HERE n.parent=".$parent);
echo"<ul>";
while($row = mysql_fetch_assoc($query)) {
if($row['count']>0) {
echo"<li><a href='" .$row['link']. "'>". $row['menu_name'] ."</a>";
display_menu($row['id'], $level + 1);
echo"</li>";
}//f
elseif($row['count']==0) {
echo"<li><a href='". $row['link'] ."'>". $row['menu_name'] ."</a></li>";
}else;
}//w
echo"</ul>";
}
display_menu(0,2);
?>
![error][1]
![Table][2]
Votre requête échoue, donc '$ query' est initialisé avec' false'. Utilisez 'mysql_error()' pour étudier votre problème. – diegoperini
Votre appel mysql_query retourne 'false' en raison d'une erreur. (Vous devriez vérifier ceci avant d'utiliser '$ query'). En supposant que l'espace dans 'W HERE' est une faute de frappe dans votre question, vous devez utiliser' mysql_error' pour montrer l'erreur de la base de données. i.e 'echo mysql_error();' juste après l'appel 'mysql_query'. – SpaceDog
duplication possible de [mysql \ _fetch \ _ray() s'attend à ce que le paramètre 1 soit resource, booléen donné dans select] (http://stackoverflow.com/questions/2973202/mysql-fetch-array-expects-parameter-1-to -be-resource-boolean-given-in-select) –