Jump to content

Nested unordered lists - anybody?


kingzl3y

Recommended Posts

Hi,

for uni i've got to make a shopping cart application in php/mysql. I'm almost done with it, managed to teach myself some nifty jquery and have been able to learn loads more PHP, I'm really enjoying it. I've come to a bit of a stand still though, I showed my application as it is to my lecturer and he had one little point.

My application, you have lists, each list has its own categories (users can add, edit, delete their own) and in each category, there are items (which like categorys can be added, edited or deleted).

 

So basically, you have a browse_list.php, which browses all the lists, each list has it's own unique hyperlink to browse_list_category.php?list_id= using the get method, it selects all the categories associated with that list, which, like browse_list.php have their own hyperlinks, but this time they link to browse_category_item.php?category_id= and they list what ever items are associated with that category. Sounds a mouth full, but it's really quite simple.

 

I showed my lecturer that and he wasn't happy with the whole category/item layout. He said it would be better if the category list had a nested item list underneath it. He was happy with the whole list to category part with the hyperlink, though.

Kinda like:

 

-list

-------category

-------item

-list1

------category1

------item1

------category2

------item2

------category3

------item3

 

My database layout is

tbllist -main list table, list_id, list_name

tblcategory - main category table, category_id, category_name

tblcategory_list - link table for list and category (many-many) list_id, category_id

tblitem - main item table, item_id, item_name

tbl_category_item - link table for category and item (many-many) category_id, item_id

 

So, now you've kinda got the gist of what I'm doing.. I just need help with displaying each item in a category, under the category.. like a nested list

<ul>

<li>category 1</li>

<ul>

<li> item 1</li>

<li> item 2</li>

<li> item 3</li>

</ul>

</ul>

 

I did try and have a go earlier, kinda rushed and managed to come up with this:

<ul id="sortme" class="shoppinglist">
<?php
// Split records in $result by table rows and put them in $row.
while($row = mysql_fetch_array($result)) {
echo '<li class="list" id="' . $row['category_id'] . '"><div class="text"><a href="browse_item_category.php?category_id=' .  $row['category_id'] . '">' . $row['category_name'] . "</a></div> <div class=\"actions\"><a href=\"#\" class=\"tick\">Tick</a> <a href=\"categoryupdater.php?category_id=" . $row['category_id'] . "\" class=\"edit\">Edit</a><a href=\"#\" class=\"delete\">Delete</a></div> </li>\n";
}
?><ul id="sortme" class="shoppinglist">
<?php
while($row = mysql_fetch_array($resultitem)) {
echo '<li class="list" id="' . $row['item_id'] . '"><div class="text">' . $row['item_name'] . "</div> <div class=\"actions\"><a href=\"#\" class=\"tick\">Tick</a> <a href=\"itemupdater.php?item_id=" . $row['item_id'] . "\" class=\"edit\">Edit</a><a href=\"#\" class=\"delete\">Delete</a></div> </li>\n";
}

?>
</ul>
</ul>

 

but this i get this

843Untitled_tn.jpg

not the whole list nested'ness

 

 

it's a bit long winded I know but could anyone possible give me a hand? i've done pretty well so far not asking for help, but I think this is going to be the end of me!

 

 

 

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.