samoht Posted October 19, 2009 Share Posted October 19, 2009 hello all, I currently have a list of products spit out from my db via a foreach loop. Right now I am styling these as a <li> I want to style the list so that the annual and the monthly products are grouped together. This will probably mean using <div> instead of <li> and placing another loop inside the foreach to grab two products and put them in one div? Any ideas how this might be structured?? should I use a for loop? here is the current code: $productnames = '<center><table><tr><td><ul id="prodlist">'."\n"; // list of products that can view this content $show2all = false; // are one of the products the "all" flag? $numcanview = 0; // the number of products that can view this post foreach ($_product_id as $pid) { $pid = trim(strtolower($pid)); // make sure no extra spaces and not "ALL" or something if ($pid=="all") { $show2all = true; // used later } else { $purl = $this->amprotectamroot.'member.php?price_group='.$allthepricegroups[$pid].'&product_id='.$pid; $productnames .= '<li><a href="'.$purl.'">'.$alltheproducts[$pid].'</a></li>'."\n"; $numcanview++; } Quote Link to comment Share on other sites More sharing options...
ialsoagree Posted October 19, 2009 Share Posted October 19, 2009 How do you differentiate between monthly and annual items? Can you modify your SQL statement to group them that way (SQL is probably going to be much more efficient at grouping the data then PHP is). Quote Link to comment Share on other sites More sharing options...
samoht Posted October 19, 2009 Author Share Posted October 19, 2009 The Annual is simply one product and Monthly is another. So maybe I could collect them via the Name? But I thought I could use php because I know the output is going to be ordered alphabetically. So I would get a list like ppGold Annual ppGold Monthly ppPro Annual ppPro Monthly etc. So I know that every 2 products will belong together. Quote Link to comment Share on other sites More sharing options...
ialsoagree Posted October 19, 2009 Share Posted October 19, 2009 If the names of the items are saved in the database, why not use the ORDER BY parameter for a SELECT SQL statement to sort them alphabetically by product name? Trying to do it by PHP is going to require a lot of work both of you and the server and will be far less efficient. Quote Link to comment Share on other sites More sharing options...
samoht Posted October 20, 2009 Author Share Posted October 20, 2009 OK, if I use the ORDER BY - I'm not sure how that gets me what I want? The HTML I am hoping to arrive at would look like: <div> <span>ppGold Annual</span> <span>ppGold Monthly</span> </div> <div> <span>ppPro Annual</span> <span>ppPro Monthly</span> </div> Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.