Re: mysql_num_rows()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



"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



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux