簡體   English   中英

HTML列表結構中的PHP遞歸菜單

[英]PHP recursive menu in HTML list structure

這是html結構,看起來應該像

<li><a href="#" class="menulink">Dropdown One</a>
    <ul>
        <li><a href="#">Navigation Item 1</a></li>
        <li>
            <a href="#" class="sub">Navigation Item 2</a>
            <ul>
                <li class="topline"><a href="#">Navigation Item 1</a></li>
                <li><a href="#">Navigation Item 2</a></li>
            </ul>
        </li>
        <li>
            <a href="#" class="sub">Navigation Item 3</a>
            <ul>
                <li class="topline"><a href="#">Navigation Item 1</a></li>
                <li><a href="#">Navigation Item 2</a></li>
                <li>
                    <a href="#" class="sub">Navigation Item 3</a>
                    <ul>
                        <li class="topline"><a href="#">Navigation Item 1</a></li>
                        <li><a href="#">Navigation Item 2</a></li>
                        <li><a href="#">Navigation Item 3</a></li>

                    </ul>
                </li>
                <li><a href="#">Navigation Item 4</a></li>
            </ul>
        </li>
        <li><a href="#">Navigation Item 4</a></li>
        <li><a href="#">Navigation Item 5</a></li>
    </ul>
</li>
<li><a href="#" class="menulink">Dropdown Two</a>
    <ul>
        <li><a href="#">Navigation Item 1</a></li>
        <li><a href="#">Navigation Item 2</a></li>
    </ul>
</li>

這是mysql表

id |parent_id|        name     |
---+---------+-----------------+
 1 |    0    |Dropdown One     |
 2 |    1    |Navigation Item 1|
 3 |    1    |Navigation Item 2|
 4 |    3    |Navigation Item 1|
 5 |    3    |Navigation Item 2|
 6 |    1    |Navigation Item 3|
 7 |    6    |Navigation Item 1|
 8 |    6    |Navigation Item 2|
 9 |    6    |Navigation Item 3|
10 |    6    |Navigation Item 4|
11 |    1    |Navigation Item 4|
12 |    1    |Navigation Item 5|
13 |    0    |Dropdown Two     |
14 |   13    |Navigation Item 1|
15 |   13    |Navigation Item 2|

也許不是最好的方法,但這是我的PHP函數嘗試:

function listCategory($parent_id,$level=0) {
    $query = "SELECT name, id , parent_id FROM category  WHERE  parent_id=".$parent_id;
    $res = mysql_query($query) or die($query);
    $i=1;
    while (list ($name, $id) = mysql_fetch_row($res))
    {   
        if ($level==0) {echo '<li><a href="#" class="menulink">'.$name.'</a></li>';}

        echo '<li><a href="#" class="menulink">'.$name.'</a></li>';
        //echo $name ." i: ".$i." level: ".$level."<br>";
        $i++;
        listCategory($id,$level+1);
    }
}

listCategory(0);

謝謝你的任何幫助

function listCategory($parent_id,$level=0) {
    $query = "SELECT name, id , parent_id FROM category  WHERE  parent_id=".$parent_id;
    $res = mysql_query($query) or die($query);
    if(mysql_num_rows($res) == 0) return;
    echo '<ul>';
    while (list ($name, $id) = mysql_fetch_row($res))
    {   
        if ($level==0)
        {
           echo '<li><a href="#" class="menulink">'.$name.'</a>';
        }
        else
        {
           echo '<li><a href="#">'.$name.'</a>';
        }
        listCategory($id,$level+1);
        echo '</li>';
    }
    echo '</ul>';
}

您沒有打開和關閉UL標簽

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM