我一直在试图弄清楚如何使用我遇到的各种示例从数据库中创建一个树视图,但到目前为止还没有成功。
我的数据库结构如下:
id | parent_id | title | Urgency
(紧迫性尚未落实)
最终结果应该生成一个树状视图,其中紧迫性的值决定了用于每个项目的图像。
我最近尝试使用的代码是:
<hmtl>
<body>
<?php
function get_children($parent, $level = 1)
{
$result = mysql_query('SELECT * FROM treeview_items WHERE parent_id = '.$parent);
$result2 = mysql_fetch_array($result, MYSQL_ASSOC);
#for avoiding some errors
if(mysql_num_rows($result) > 0)
#start the list
echo '<ul>';
foreach($result2 as $row) {
#print the item, you can also make links out of these
echo '<li>'.$row['title'].'</li>';
#this is similar to our last code
#this function calls it self, so its recursive
get_children($row['id'], $level+1);
}
#close the list
echo '</ul>';
}
mysql_connect('localhost', 'root');
mysql_select_db('test');
$result = mysql_query('SELECT * FROM treeview_items');
$result2 = mysql_fetch_array($result, MYSQL_ASSOC);
#for avoiding some errors
if(mysql_num_rows($result) > 0) {
#start the list
echo '<ul>';
foreach($result2 as $row) {
#print the item, you can also make links out of these
echo '<li>'.$row['title'].'</li>';
#recursive function(made in next step) for getting all the subs by passing
id of main item
get_children($row['id']);
}
#end the list
echo '</ul>';
#some message if the database is empty
}
else echo 'No Items';
#clear the memory
mysql_free_result($result);
?>
</body>
<html>
基本上我的代码不起作用。我可以尝试解决什么问题?
编辑
我修改了一些代码来修复几个错误所以现在我看到的是:
- 1
- 2
- 5
警告:第 13 行 C:\Program Files\EasyPHP-5.3.9\www\test.php 中为 foreach() 提供的参数无效
重复 100 次,直到它中止。不知道为什么,因为foreach()
代码中的两者是相同的,但是函数内部的那个不起作用。