This is a discussion on some problem to add a mysql field value to an array within the alt.comp.lang.php forums, part of the PHP Programming Forums category; how can i read a mysql table of two fields and test if the first field has a value then ...
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
how can i read a mysql table of two fields and test if the first field has a
value then add the second value to an array I try this but it doesn't works while ($row=mysql_fetch_array($result)) { for ($i=0; $i< mysql_num_fields($result); $i++) if ($row['CampoChiave']=='true') $TempArray[ ]=$row['NomeCampo']; } |
|
|||
|
What is the "for" loop for if you do not use it's index ($i)?
You are testing if CampoChiave has a string value of 'true'. You wrote that you want to test if it has any value. You may do it like this: if (isset($row['CampoChiave']) && ($row['CampoChiave']!='')) $TempArray[]=$row['NomeCampo']; Hilarion PS.: I do not use MySQL, so my suggestions are general PHP related and may not be sufficient. |
|
|||
|
SAN CAZIANO wrote:
> how can i read a mysql table of two fields and test if the first field has a > value then add the second value to an array > > I try this but it doesn't works > > while ($row=mysql_fetch_array($result)) > { > for ($i=0; $i< mysql_num_fields($result); $i++) > if ($row['CampoChiave']=='true') > $TempArray[ ]=$row['NomeCampo']; > } > > Hi, * Use mysql_fetch_assoc(), not mysql_fetch_array(). * You don't need the for loop that tests agains mysql_num_fields() * It's generally more efficient if your CampoChiave takes integer values 1 and 0, rather than string values "true" and "false". So: ===== START PHP CODE ===== while ($row = mysql_fetch_assoc($result)) { if ($row["CampoChiave"]) { $TempArray[] = $row["NomeCampo"]; } } ====== END PHP CODE ====== Hope this helps, Oli |