How can I loop inside an array
in my code?
This is the static version of my script:
$val=array( array("value" => "Male","label" => "Male"), array("value" => "Female","label" => "Femal"), ); my_form("Gender","select","gender",$val,"",5);
Then, I need to retrieve the value
and label
from the database.
So I customized my previous code to:
$div=array( while($h = mysql_fetch_array($qwery)){ array("value" => "$h[id]","label" => "$h[div]"), } ); my_form("Division","select","id_div",$div,"",5);
When I run it I get this Error message
:
Parse error: syntax error, unexpected ‘while’ (T_WHILE), expecting ‘)’
Can anyone help me?
I want to loop the join data from my database into :
input type=”Select”
Advertisement
Answer
You can’t use a loop directly as a value in an array. Instead, loop over and add each array for each iteration of the while-loop.
Using $div[] = "value"
, you add that value as a new element in that array.
$div = array(); // Initialize the array // Loop through results while ($h = mysql_fetch_array($qwery)) { // Add a new array for each iteration $div[] = array("value" => $h['id'], "label" => $h['div']); }
This will create a two-dimensjonal array which would look (as an example) like
array( array( "value" => "Male", "label" => "Male" ), array( "value" => "Female", "label" => "Female" ) );
…which you then can look through with a foreach
to do what you want with it.
If you want this to be output as options in a select-element, you could just do that directly
<select name="sel"> <?php while ($row = mysql_fetch_array($qwery)) { echo '<option value="'.$row['id'].'">'.$row['div'].'</option>'; } ?> </select>