Forum Moderators: coopster

Message Too Old, No Replies

Using php to display unordered list

         

Arno_Adams

1:29 pm on Nov 20, 2005 (gmt 0)

10+ Year Member



Hi all,

I have a (MySQL-)database table with columns like:

id ¦ study ¦ parent_id

How do I display (using php) a tree that looks like this:


<ul>
<li>category A</li>
<ul>
<li>sub category A-1</li>
<li>sub category A-2</li>
<li>sub category A-3</li>
</ul>
<li>category B</li>
<ul>
<li>sub category B-1</li>
<li>sub category B-2</li>
</ul>
<li>category C</li>
<ul>
<li>sub category C-1</li>
<li>sub category C-2</li>
</ul>
</ul>

Any tips?

TIA, Arno

designaweb

3:20 pm on Nov 20, 2005 (gmt 0)

10+ Year Member



write a recursive function:

$parentid = 0; // assuming that 0 is the main category.

get_sub_cats($parentid);

function get_sub_cats($parentid) {

 $sql = "SELECT * FROM table_name WHERE parent_id = ".$parentid."";

 $run = mysql_query($sql);

 echo '<ul>';

 while ($rec = mysql_fetch_assoc($run)) {


   echo '<li />'.$rec['study'];

   get_sub_cats($rec['id']);

 }

 echo '</ul>';

}

Haven't tested it...

Arno_Adams

4:50 pm on Nov 20, 2005 (gmt 0)

10+ Year Member



Hi designaweb,

That works great, thanks a lot!

Arno