I have been trying to figure out how to create a treeview which is populated from a database using various examples I have come across but have not been successful so far.
My database is structured like:
id | parent_id | title | Urgency (Urgency is not implemented yet)
The end result should generate a treeview where the value of urgency dictates the image used for each item.
The code I have been trying to utilise lately is:
<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>
Basically the code I have doesn’t work. What can I try to fix it?
Edit
I altered some of the code to fix a couple of errors
So now what I see is:
- 1
- 2
- 5
Warning: Invalid argument supplied for foreach() in C:\Program Files\EasyPHP-5.3.9\www\test.php on line 13
repeated 100 times until it aborts. Not sure why, because both foreach() in the code are the same, but the one inside the function doesn’t work.
Thank you for all the help but Jey managed to solve my problem by basically giving me entirely new code lol
Here is the link to his code on another question:
Categories with sub PHP / MYSQL
Thank you Jey, and everyone else! 🙂