This does not generate the exact look you are asking for, but can easily
be modified by changing the dashes to spaces etc.  I also left my naming
convention in, so that would have to be altered to your fields as well. 
It may not be the cleanest code, but it does work.

<?php
$query = "SELECT * FROM categories WHERE ca_caidParent = 0";
$result = mysql_query($query);
while ($row = mysql_fetch_object($result)) {
     recursive($row->ca_caid,$row->ca_category,0,1);
}

function recursive ($id,$element,$tabs,$y) {
        $dashes = str_repeat("---", $tabs);
        echo "$dashes$element\n";
        $result = "result$y";
        $row = "row$y";
        $$query = "SELECT * FROM categories WHERE ca_caidParent='$id'";
        $$result = mysql_query($$query);
        while ($$row = mysql_fetch_object($$result)) {
                $tabs++;
                $y++;
                recursive($$row->ca_caid,$$row->ca_category,$tabs,$y);
                $tabs--;
                $y--;
                $result = "result$y";
                $row = "row$y";
        }
}

?>

Trenton

-----Original Message-----
From: Bruno B B Magalhães [mailto:[EMAIL PROTECTED]
Sent: Tuesday, October 19, 2004 8:47 PM
To: [EMAIL PROTECTED]; php-db
Subject: [PHP] Reverse (or backward?) Infinity Loop

Hi guys,

I have a normal categories table:

catId
catParentId
catName
catStatus

But I want when a user enters on:

http://hostname/site/products/catId1/catId7/catId13/../../contentId.html

A listing should apear like that:

• Category 1
      • Category 7
           • Category 13
• Category 2
• Category 3
• Category 4
• Category 5


A reverse (or backward) loop! We need to get the last category and then
follow the ParentId until the 0 ParentId. Have anybody made this before
(I hope so)?

Many Thanks,
Bruno B B Magalhaes

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to