Jump to content

[SOLVED] MySQL-PHP Query Results Help


Grimloch

Recommended Posts

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:

 

cat-display.jpg

 

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:

 

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&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&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&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&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.

 

;D

Link to comment
Share on other sites

Maybe I'm not providing enough info here as no one has responded:

 

Normally in this script all the sub-cats are displayed BELOW the main cats as in the pic but; with 208 sub-cats thats a very LONG page. So I decided to do what I am seeking help with. Now when you click on a main cat the sub-cats for that one ONLY are displayed below the main cats w/the # of posts in each one, which makes better sense. Here is the table that stores the cats info:

 

cid int(11) unsigned NOT NULL auto_increment,
title varchar(100) NOT NULL default '',
description text NOT NULL,
image varchar(100) NOT NULL default '',
parentid int(11) unsigned NOT NULL default '0',
status enum('0','1') NOT NULL default '0',
PRIMARY KEY (cid)
) TYPE=MyISAM;";

 

Hoping for some help here.

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.