First, there is no reason to do mycounter like this when mysql_num_rows() will work perfectly. It's not based on any certain column numbers or primary keys. Although if you're suggesting this method to simply print 0-n in the loop (as users may want to know the row number of output not any id number) then that's good altough it's not really a counter in this case.
Second, we assume this person wants a count for informational purposes, to go along with the data in which case mysql_num_rows() is your best bet. It means having a count before the data is printed/used. And checking the number or rows returned before fetching is a form of error handling as well as if it equals 0 than there is no data to fetch. But if one ONLY wants a number of rows count, doing SELECT count(*)... works great as suggested below. Regards, Philip Olson On Wed, 18 Dec 2002, liljim wrote: > Hi John, > > "John Taylor-Johnston" wrote in message: > > I use $mycounter, not saying it is pretty. But if you have a whole bunch > of stuff deleted, your last id might be worth a lot more than the actual > number of rows. > > > > $myconnection = mysql_connect($server,$user,$pass); > > mysql_select_db($db,$myconnection); > > > > $news = mysql_query('select * from '.$table.' where '.$where.' order by id > asc'); > > $mycounter = 0; > > while ($mydata = mysql_fetch_object($news)) > > { > > $mycounter++; > > } > > Have you ever considered just doing a count()? > > $count = @mysql_query("select count(*) from [table(s)] where [criteria > [group by something]]"); > $total = mysql_result($count, 0); > > That will return the number of rows in your table(s). It's also much quicker > and less resource intensive, particularly with large datasets. :) > > James > > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php