Hi Mark!
> Being relatively new to php, I discovered the following after
> about 2 hours
> of debugging last night and was wondering why???
>
> I had the following code:
>
> if ( $num_results = 0 )
> {
> echo "no records found";
> }
> else
> {
> for ($i=0; $i < $num_results; $i++)
> {
> display record set
> }
> }
>
> As a result, the for loop never executed, no matter how many
> records were
> returned in the record set. I placed echo statements though
> out to determine
> why the for loop was not being executed. I put an echo
> statement just before
> the for to make sure the else condition was being met.
>
> Finally, I just copy/pasted (literally) the for loop to just
> before the 'if'
> statement. Much to my surprise...the for loop now works
> perfectly. (Except,
> of course, if there are no records returned).
>
> The duduction...for loops will not work inside else statements. The
> question...why?
I guess this would be the end of all PHP-programming ;)
Of course you can place any correct block of code inside any other
correct block of code.
But, i your case $num_results IS zero. Just place an echo statement
inside the if block ;)
Very frequent error ;)
"if ($num_results = 0)" indeed is an asignment, no comparison.
Better use "==" if you want to compare thingies...
> I think I can work around this with some different coding,
> but why should I
> have to? I have done this same thing in java, perl and other
> languages...
Yes, also with "==" ;)
Cheers,
Kiko
--
It's not a bug, it's a feature.
christoph starkmann
mailto:[EMAIL PROTECTED]
http://www.gruppe-69.com/
ICQ: 100601600
--
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php