Wow, I didn't know Angles could sing...:-) Sorry, bad attempt at humor.
-----Original Message-----
From: John S. Huggins [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, April 23, 2002 11:53 AM
To: Miguel Cruz
Cc: [EMAIL PROTECTED]
Subject: Re: [PHP] List, Key, Value oh my.
The Earth shook, Angles sang, there was much rejoicing.
Behold Miguel is correct. === did the trick.
It sure is nice to know I am not going nuts.
Much thanks.
John
On Tue, 23 Apr 2002, Miguel Cruz wrote:
>-Amazing things happen when you compare values of different types. The
>-numerical value of "Name" is zero. Try using === to compare type as well
>-as value.
>-
>-miguel
>-
>-On Tue, 23 Apr 2002, John S. Huggins wrote:
>-> I forgot to show you some output from this thing...
>->
>-> ---{0,BLOW, JOE}---Name is BLOW, JOE, Key = 0 |
>-> ---{Name,BLOW, JOE}---Name is BLOW, JOE, Key = Name |
>-> ---{1,YES}---1 |
>-> ---{2,}---
>-> ---{3,YES}---3 |
>->
>-> The way I see it, that first line should have not printed because $key
is
>-> equal to 0 not "Name".
>->
>->
>-> On Tue, 23 Apr 2002, John S. Huggins wrote:
>->
>-> >-
>-> >-I have a problem.
>-> >-
>-> >-I am fetching rows from a MySQL table called "temp." Each row has
four
>-> >-fields: "Name", "1", "2" and "3"
>-> >-
>-> >-Then I do this function which will eventually generate records for a
>-> >-lookup table for any skills in the 1, 2 or 3 fields that equal the
string
>-> >-"YES" associated with the Name (right now it just prints to the web
>-> >-browser while I debug it).
>-> >-
>-> >-function generateLookupTable() {
>-> >- //
>-> >- $query = "SELECT * FROM temp";
>-> >- if ( !$result = mysql_query($query) ) {
>-> >- //
>-> >- print("<p>mysql_error() . "<br>$query</p>");
>-> >- } else {
>-> >- //
>-> >- // For each name returned, march through
>-> >- // each skill and insert a row into the
>-> >- // lookup_skill
>-> >- // where the skill value == "YES"
>-> >- while ( $row = mysql_fetch_array($result) ) {
>-> >- //
>-> >- print("<p>"); // For test
>-> >- while ( list($key,$value) = each($row) ) {
>-> >- print("---\{$key,$value}---"); // For test
>-> >- //
>-> >- if ( $key == "Name" ) { <<<<<<<<-----
>-> >- print("Name is $value, Key = $key
>-> >-| ");
>-> >- } else {
>-> >- if ( $value == "YES" ) {
>-> >- print("$key | ");
>-> >- }
>-> >- }
>-> >- print("<br>");
>-> >- }
>-> >- print("</p>"); // For test
>-> >- }
>-> >- }
>-> >-}
>-> >-
>-> >-
>-> >-
>-> >-I have marked an IF statement with the "<<<<<<<-----" string. As the
>-> >-while statement marches through the array $row returned from
>-> >-mysql_fetch_array the value of key is set first to "0" then "Name"
then
>-> >-"1" then "2" then "3". Fine. However, the if statement highlighted
above
>-> >-winds up being "true" when the $key == 0 and when $key == "Name" and I
>-> >-can't see why this would be so.
>-> >-
>-> >-Any possibilities folks? I am quickly working around this now so it
is
>-> >-not slowing me down, however, this is just too unusual to not figure
out.
>-> >-
>-> >-John
>-> >-
>-> >-
>-> >-**************************************
>-> >-
>-> >-John Huggins
>-> >-VANet
>-> >-
>-> >[EMAIL PROTECTED]
>-> >-http://www.va.net/
>-> >-
>-> >-**************************************
>-> >-
>-> >-
>-> >-
>-> >---
>-> >-PHP General Mailing List (http://www.php.net/)
>-> >-To unsubscribe, visit: http://www.php.net/unsub.php
>-> >-
>->
>-> **************************************
>->
>-> John Huggins
>-> VANet
>->
>-> [EMAIL PROTECTED]
>-> http://www.va.net/
>->
>-> **************************************
>->
>->
>->
>-
**************************************
John Huggins
VANet
[EMAIL PROTECTED]
http://www.va.net/
**************************************
--
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