Hi Dave, > Below is an attempt at resolving my issue. > > Somewhere I am getting confused.....
>From what you are showing it is not easy to see what is confusing you! Is it the logic, or the SQL or PHP code? > Is there something here shouting out at you that's obviously wrong? The database needs to be selected and the loops need closing braces, but I assume that this is an incomplete code fragment!? The mysql_fetch_array looks incorrect (I don't use it) - it has too many arguments and none should be a numeric constant [please refer to manual], and feeds into $showitemcount in a way that seems to be 'double-handling' (if indeed it is correct at all). My recommendation would be to use mysql_fetch_assoc($cntresult): while ( $cntcat = mysql_fetch_array( $cntresult ) ) { $showcategoryId = $cntcat['catid']; $showitemcount = $cntcat['catcnt']; echo "Retrieved: $showcategoryId~$showitemcount~"; } Note how the $cntcat[] associative array is indexed by the column name/title, as retrieved from MySQL!? That sort of self-documenting/flow of documentation is why I use this alternative of the fetch-es. BTW I'm glad you added the AS alias code to your SQL - I forgot all about adding that - until I'd hit send that is!? Finally, if your confusion is knowing that there is an error but not being able to work out if it is in PHP or MySQL: my suggestion would be to use debug ECHO statements. For example in the code above. Also if you ECHO $cntcats immediately after setting the query, then if the resultset is in any way weird or 'not as expected', you can copy-paste the debug ECHO o/p straight into the native MySQL command line (or an admin pkg) and see what MySQL makes of it! (including the evaluation of the PHP variable/value $tbn2)! > Any help is appreciated. Hope it is helpful, =dn > Thanks in advance > > > $cntcats ="SELECT catid, count(*) as catcnt FROM $tbn2 GROUP BY catid"; > $cntresult = mysql_query($cntcats, $con) or die("error: > ".mysql_error()); > $cntcat = mysql_fetch_array($cntresult,1,catcnt) ;{ > for($n =0; $n < count($cntcat); $n++){ > $showitemcount = each($cntcat); > > Dave Carrera > Php Developer > http://davecarrera.freelancers.net > http://www.davecarrera.com > > > -----Original Message----- > From: DL Neil [mailto:[EMAIL PROTECTED]] > Sent: 16 March 2002 11:50 > To: Dave Carrera; [EMAIL PROTECTED] > Subject: Re: [PHP-DB] a Count() ? > > Hi Dave, > > > I am trying to count how many product names in my db have the same > > category id and then show it ie: > > > > Catid 1 Product 1 > > Catid 1 Product 2 > > Catid 2 Product 3 > > Catid 3 Product 4 > > Catid 3 Product 5 > > > > Result would be > > > > Catid1 has 2 products > > Catid2 has 1 products > > Catid3 has 2 products > > > > I think it has something to do with the GROUP command but the mysql > doc > > dose not make it clear how to achive this task. > > > > Code examples, pointers to web resources or any info thankfully > > received. > > > Let's take it a step at a time. First of all assemble the SELECT to > produce your first list: > > SELECT * FROM tblNm; > > then pull in the GROUP BY clause to collect the row-results together in > some like-minded fashion. In this case you want to collect all or the > rows pertaining to one category (ID) together. (you will need to be more > specific about what in the manual is making you uncertain): > > SELECT * FROM tblNm GROUP BY Catid1; > > Oops! All of a sudden we only get one line for each CatId (and the rest > of the columns produce fairly unpredictable data taken from only one of > the rows with that CatId). Get rid of the * (all columns) and replace it > with the CatId colNm. > > Now follow your instincts and check out COUNT() in the manual, and try > something like: > > SELECT Catid1, count(*) FROM tblNm GROUP BY Catid1; > > As I said 'follow your instincts' and take it one step at a time: Code > the simplest query first, then try making it more complicated by > adding/amending one clause at a time, crafting the result until it suits > your purposes... > > Let us know how you get on! > =dn > > -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php