我如何引用一个动态创建的列表PHP

问题描述:

我有下面的代码从 数据库中创建类别和子类别我如何引用一个动态创建的列表PHP

function displayChild($parent) 
{ 
    include 'connect.php'; 
    $parentid=$parent; 
    $catSql='select* from categories where parentid='.$parentid.''; 
    $result=$con->query($catSql); 
    echo '<div><ul class='.'ul'.$parentid.'>'; 
    while ($rows=$result->fetch_assoc()) 
    { 
     echo '<li><a href="#">'.mb_strtoupper($rows['catName']).'</a></li>'; 
     displayChild($rows['catId']); 
    } 
    echo '</ul></div>'; 
} 
displayChild('0'); 

的CSS位应该是如下

@charset "utf-8"; 
.ul0{} 
.ul1{} 
.ul2{} 
. 
. 
. 
.uln{} 
由于第一

标签出现在while循环之外时,它会形成一个非常奇怪的列表,当我引用它时,在while()循环中输入它也不是一个选项。请帮助

+0

您的代码可能容易受到SQL注入攻击。您应该使用[mysqli](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)或[PDO](http://php.net/manual/en/pdo.prepared- statement.php)按照[本文]中描述的准备语句(http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)。 –

我不完全确定你的意思,“当我参考它时,它形成了一个非常奇怪的列表。”但是,这听起来像也许你正在得到奇怪的HTML。如果出现这种情况,如果将嵌套函数调用放入li中,结果会更好:

function displayChild($parent){ 
    include 'connect.php'; 
    $parentid=$parent; 
    $catSql='select* from categories where parentid='.$parentid.''; 
    $result=$con->query($catSql); 
    echo '<div><ul class='.'ul'.$parentid.'>'; 

    while ($rows=$result->fetch_assoc()){ 
    echo '<li><a href="#">'.mb_strtoupper($rows['catName']).'</a>'; 
    displayChild($rows['catId']); // note this is now inside the list item 
    echo '</li>'; 
    } 
    echo '</ul></div>'; 
}