使用MySQLi制作PHP菜单子菜单系统

时间:2014-05-19 08:21:38

标签: php mysql menu mysqli submenu

我正在尝试使用php&amp ;;进行菜单子菜单库MySQLi。 我有这张桌子: enter image description here

我有这个PHP代码:

function my_menu($parent_id=0){
    $connection = mysql_connect("localhost","root","root");
            mysql_select_db("a_personality",$connection);
            $query = mysql_query("SELECT * FROM categories WHERE parent_id = {$parent_id}");

            if(mysql_num_rows($query)){
                echo "<ul>";
                while($res = mysql_fetch_assoc($query)){
                    echo "<li>";
                    echo $res['name'];
                    dispay_menu($res['cat_id']);
                    echo "</li>";
                }
                echo "</ul>";
            }
}

但是我必须用MySQLi编写它,我这样做了:

function dispay_menu($mysqli_conn,$parent_id=0){

            $query = $mysqli_conn->prepare("SELECT cat_id,name,parent_id FROM categories WHERE parent_id = ?");
            $query->bind_param('i',$parent_id);
            $query->execute();
            $query->bind_result($cat_id_db,$name_db,$parent_id_db);


            if($query->num_rows){
                echo "<ul>";
                while($query->fetch()){
                    echo "<li>";
                    echo $name_db;
                    echo "<script>alert('".$parent_id_db."');</script>";
                    dispay_menu($mysqli_conn,$parent_id_db);
                    echo "</li>";
                }
                echo "</ul>";
            }
}

使用mysqli的功能我这样称呼: dispay_menu($ mysqli_conn); 问题是我的mysqli功能不起作用,问题是什么?

比你!

1 个答案:

答案 0 :(得分:0)

替换

dispay_menu($mysqli_conn,$parent_id_db);

dispay_menu($mysqli_conn,$cat_id_db);

目前,您始终使用父ID 0调用子菜单。