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/ > > ************************************** > > > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php