"Pete Ford" <pete@xxxxxxxxxxxxx> wrote in message news:B3.66.55836.0AA266D4@xxxxxxxxxxxxxxx > On 22/02/11 14:40, Gary wrote: >> "Pete Ford"<pete@xxxxxxxxxxxxx> wrote in message >> news:76.48.39221.054C36D4@xxxxxxxxxxxxxxx >>> On 22/02/11 13:59, Gary wrote: >>>> "Pete Ford"<pete@xxxxxxxxxxxxx> wrote in message >>>> news:A4.C0.39221.B3CA36D4@xxxxxxxxxxxxxxx >>>>> On 22/02/11 05:40, Gary wrote: >>>>>> Can someone tell me why this is not working? I do not get an error >>>>>> message, >>>>>> the results are called and echo'd to screen, the count does not work, >>>>>> I >>>>>> get >>>>>> a 0 for a result... >>>>>> >>>>>> >>>>>> >>>>>> $result = mysql_query("SELECT * FROM `counties` WHERE name = >>>>>> 'checked'") >>>>>> or >>>>>> die(mysql_error()); >>>>>> >>>>>> if ( isset($_POST['submit']) ) { >>>>>> for($i=1; $i<=$_POST['counties']; $i++) { >>>>>> if ( isset($_POST["county$i"] ) ) { >>>>>> echo "You have chosen ". $_POST["county$i"]."<br/>"; >>>>>> } >>>>>> } >>>>>> } >>>>>> >>>>>> $county_total=mysql_num_rows($result); >>>>>> >>>>>> while($row = mysql_fetch_array($result)) >>>>>> {$i++; >>>>>> echo $row['name']; >>>>>> } >>>>>> $county_total=mysql_num_rows($result); >>>>>> echo "$county_total"; >>>>>> >>>>>> echo 'You Have ' . "$county_total" . ' Counties '; >>>>>> >>>>>> ?> >>>>> >>>>> The first thing I see is that you do >>>>> $county_total=mysql_num_rows($result) >>>>> twice. Now I'm not to sure, but it is possible that looping over >>>>> mysql_fetch_array($result) moves an array pointer so the count is not >>>>> valid after the operation... that's a long shot. >>>>> >>>>> But since you are looping over the database records anyway, why not >>>>> just >>>>> count them as you go? Isn't $i the number of counties after all the >>>>> looping? >>>>> >>>>> >>>>> -- >>>>> Peter Ford, Developer phone: 01580 893333 fax: 01580 >>>>> 893399 >>>>> Justcroft International Ltd. >>>>> www.justcroft.com >>>>> Justcroft House, High Street, Staplehurst, Kent TN12 0AH United >>>>> Kingdom >>>>> Registered in England and Wales: 2297906 >>>>> Registered office: Stag Gates House, 63/64 The Avenue, Southampton >>>>> SO17 >>>>> 1XS >>>> >>>> >>>> Peter >>>> >>>> Thank you for your reply. >>>> >>>> I did notice that I had the $county_total=mysql_num_rows($result) >>>> twice. >>>> I >>>> had moved and removed it, always getting either a 0 or 1 result. >>>> >>>> I put up another test page with >>>> >>>> $result = mysql_query("SELECT * FROM `counties` ") or >>>> die(mysql_error()); >>>> >>>> $tot=mysql_num_rows($result); >>>> echo "$tot"; >>>> >>>> ?> >>>> >>>> And it worked fine. >>>> >>>> I have tried count() as well as mysql_num_rows() but am getting the >>>> same >>>> result. >>>> >>>> Could you explain what you mean by count them as I go? >>>> >>>> Again, Thank you for your reply. >>>> >>>> Gary >>>> >>>> >>>> >>>> __________ Information from ESET Smart Security, version of virus >>>> signature database 5895 (20110222) __________ >>>> >>>> The message was checked by ESET Smart Security. >>>> >>>> http://www.eset.com >>>> >>>> >>>> >>>> >>> >>> Well, >>> >>> Lets go back to your original code and cut out the decoration: >>> >>> $result = mysql_query("SELECT * FROM `counties` WHERE name = 'checked'") >>> $county_total=mysql_num_rows($result); >>> while($row = mysql_fetch_array($result)) >>> { >>> echo $row['name']; >>> } >>> echo "$county_total"; >>> >>> That code should do pretty much what you want... >>> >>> But, because you only show the number of records AFTER the loop, you >>> could >>> do: >>> >>> $result = mysql_query("SELECT * FROM `counties` WHERE name = 'checked'") >>> $county_total = 0; >>> while($row = mysql_fetch_array($result)) >>> { >>> echo $row['name']; >>> $county_total++; >>> } >>> echo "$county_total"; >>> >> >> Peter >> >> Thank you for your suggestion...btw "cut out the decoration" LOL >> >> I'm sorry to report it did not work. I tried various configurations of it >> but to no avail. >> >> Any other suggestions? >> >> Again, thank you for your help. >> >> Gary >> >> >> >> __________ Information from ESET Smart Security, version of virus >> signature database 5895 (20110222) __________ >> >> The message was checked by ESET Smart Security. >> >> http://www.eset.com >> >> >> >> > > Gary, > > I'd probably need a bit more detail on the "it did not work" to go much > further! > Actually, it looks like I missed a semicolon on the "mysql_query" line in > *both* versions - maybe that was the problem... > Do you have access to your server logs, to see if any errors are reported > when you run this? > > Cheers > Peter > > -- > Peter Ford, Developer phone: 01580 893333 fax: 01580 > 893399 > Justcroft International Ltd. > www.justcroft.com > Justcroft House, High Street, Staplehurst, Kent TN12 0AH United > Kingdom > Registered in England and Wales: 2297906 > Registered office: Stag Gates House, 63/64 The Avenue, Southampton SO17 > 1XS Peter I'm sorry, I sort of abandoned this post since I found I had other problems with the scripts and posted another question above. I have at this point the checkboxes appearing, the mysql_num_row is not working yet, but that can got kicked down the road a bit. Thank you for all your help, I'm trying to formulate me next question for the aforementioned 2nd post. Gary __________ Information from ESET Smart Security, version of virus signature database 5904 (20110224) __________ The message was checked by ESET Smart Security. http://www.eset.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php