我如何引用一个动态创建的列表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()循环中输入它也不是一个选项。请帮助
答
我不完全确定你的意思,“当我参考它时,它形成了一个非常奇怪的列表。”但是,这听起来像也许你正在得到奇怪的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>';
}
您的代码可能容易受到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)。 –