MySQL-PHP Query Results Help

Posted on 16th Feb 2014 by admin

Hello all. I'm hoping to be able to get some help in solving a problem with query/rowcount output. I've been learning PHP and mySQL for about 7 months now and have several successful Mods written/modified for PHP-Fusion CMS version7.00.05. My host is running PHP-5 and MySQL-5. I am converting a Mod from Fusion-ver6 to work on ver-7, called Classified Ads. It has turned out to be a MONSTER to modify and I have run into a snag. There is code that selects ALL the categories and divides them in half displaying half in a table TD and the other half in another TD beside it for a 2 column display. This works just great. What I have is 22 categories and approx. 220 sub-categories. What I am trying to do is display the number of sub-categories below each main category. Here is a pic of the current display with annotations:



I tried using the same code (which works for the main cats), to display the # of sub-cats. It works fine for the first TD but fails in the second TD. I will show the pertinent code rather than posting the entire script, unless requested to do so. Here is the code that produces what you see in the pic:

Code: echo "<table width='100%' border='0' cellspacing='0' cellpadding='3'><tr>n";
$result = dbquery("SELECT * FROM ".DB_CLASSIFIED_CATEGORIES." WHERE status='1' AND parentid=0");
$numrows = dbrows($result);
if($numrows > 0) {
$numrows % 2 ? $numrows += 1 : $numrows;
$rows = $numrows / 2;
echo "<td valign='top' width='50%'>";
$result = dbquery("SELECT cid, title, description, image, parentid FROM ".DB_CLASSIFIED_CATEGORIES." WHERE status='1' AND parentid='0' ORDER BY title LIMIT $rows");
while(list($cid, $title, $description, $image, $parentid) = dbarraynum($result))
{
$count1=dbcount("(*)", $db_prefix."classified", " cid='$cid' AND status='1'");
echo "<table cellspacing='2' cellpadding='1' width='100%' border='0'><tr>n";
echo "<td valign='top' width='100%'>";
if($image) {
echo "<a href='".FUSION_SELF."?op=view_ad&amp;cid=".$cid."'><img src='".INFUSIONS."classified_ads_panel/images/cat/".$image."' alt='".$title."' border='0'></a>(<strong>".$count1." ";
if($count1>1 || $count1<1) {
echo $locale['CLS_0120'];
} else {
echo $locale['CLS_0119'];
}
echo "</strong>)";
} else {
echo "<a href='".FUSION_SELF."?op=view_ad&amp;cid=".$cid."'><strong>".$title."</strong></a>(<strong>".$count1." ";
if($count1>1 || $count1<1) {
echo $locale['CLS_0120'];
} else {
echo $locale['CLS_0119'];
}
echo "</strong>)<br />";
// start here
$subresult = dbquery("SELECT * FROM ".DB_CLASSIFIED_CATEGORIES." WHERE status='1' AND parentid >0");
$myrows = dbrows($subresult);
if($myrows > 0) {
$myrows % 2 ? $myrows += 1 : $myrows;
$subrows = $myrows / 2;
$subresult = dbquery("SELECT cid, title, description, image, parentid FROM ".DB_CLASSIFIED_CATEGORIES." WHERE parentid >0 AND parentid=$cid ORDER BY parentid LIMIT $subrows");
$myrows = dbrows($subresult);
$subrows = $myrows;
}

echo $subrows." sub-categories<br />";
// end here
}
echo "</td>n";
echo "</tr><tr>n";
echo "<td>".$description."</td>n";
echo "</tr></table>n";
}
echo "</td><td valign='top' width='50%'>";
$result1 = dbquery("SELECT cid, title, description, image, parentid FROM ".DB_CLASSIFIED_CATEGORIES." WHERE status='1' AND parentid='0' ORDER BY title LIMIT $rows, $rows");
while(list($cid, $title, $description, $image, $parentid) = dbarraynum($result1))
{
$count1=dbcount("(*)", $db_prefix."classified", " cid='$cid' AND status='1'");
echo "<table cellspacing='2' cellpadding='1' width='100%' border='0'><tr>n";
echo "<td valign='top' width='100%'>";
if($image) {
echo "<a href='".FUSION_SELF."?op=view_ad&amp;cid=".$cid."'><img src='".INFUSIONS."classified_ads_panel/images/cat/".$image."' alt='".$title."' border='0'></a>(<strong>".$count1." ";
if($count1>1 || $count1<1) {
echo $locale['CLS_0120'];
} else {
echo $locale['CLS_0119'];
}
echo "</strong>)";
} else {
echo "<a href='".FUSION_SELF."?op=view_ad&amp;cid=".$cid."'><strong>".$title."</strong></a>(<strong>".$count1." ";
if($count1>1 || $count1<1) {
echo $locale['CLS_0120'];
} else {
echo $locale['CLS_0119'];
}
echo "</strong>)<br />";
// start here
$subresult = dbquery("SELECT cid, title, description, image, parentid FROM ".DB_CLASSIFIED_CATEGORIES." WHERE parentid >0 AND parentid=$cid ORDER BY parentid LIMIT $subrows, $subrows");
$myrows = dbrows($subresult);
$subrows = $myrows;

echo $subrows." sub-categories<br />";
// end here
}
echo "</td>n";
echo "</tr><tr>n";
echo "<td>".$description."</td>n";
echo "</tr></table>n";
}
echo "</td>n";
}

I'm wondering why my added code works OK for the first part but not the second part. Any and all help/suggestions would be GREATLY appreciated

Other forums