2016-11-11 13 views
0

arrayのコード内でどのようにループできますか?PHPループ内の配列

これが私のスクリプトの静的なバージョンは次のとおりです。

$val=array(
array("value" => "Male","label" => "Male"), 
array("value" => "Female","label" => "Femal"), 
); 

my_form("Gender","select","gender",$val,"",5); 

はその後、私は、データベースからvaluelabelを取得する必要があります。

だから私はに私の以前のコードをカスタマイズした:誰も私を助けることができる

Parse error: syntax error, unexpected 'while' (T_WHILE), expecting ')'

:私はそれを実行すると、私はこのError messageを得る

$div=array(
while($h = mysql_fetch_array($qwery)){ 
array("value" => "$h[id]","label" => "$h[div]"),  
} 
); 

my_form("Division","select","id_div",$div,"",5); 

私はインクルードがに私のデータベースからのデータを結合するループにしたい:あなたは配列の値として直接ループを使用することはできません

input type="Select"

+0

配列内でループすることはできません – Blinkydamo

+1

なぜこのタグは 'java'ですか? –

答えて

1

。その代わりに、whileループの繰り返しごとに各配列をループオーバーして追加します。

$div[] = "value"を使用すると、その値をその配列の新しい要素として追加します。

$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']); 
} 

これは、あなたが、あなたがそれをやりたいforeachに目を通すことができます

array(
    array(
     "value" => "Male", 
     "label" => "Male" 
    ), 
    array(
     "value" => "Female", 
     "label" => "Female" 
    ) 
); 

のような(例として)になり、二dimensjonal配列を作成します... 。


あなたがこの選択要素のオプションとして出力したい場合は、あなただけの直接

<select name="sel"> 
    <?php 
    while ($row = mysql_fetch_array($qwery)) { 
     echo '<option value="'.$row['id'].'">'.$row['div'].'</option>'; 
    } 
    ?> 
</select> 
0

あなたを助けることができますforeachを使用していることを行うことができます。それはあなたにもっと多くの概観を与える。

$values = array(
    array("value" => "Male","label" => "Male"), 
    array("value" => "Female","label" => "Femal"), 
); 

<select name="Select"> 
<?php foreach ($val as $item): ?> 
    <option value="<?= $item['value']; ?>"><?= $item['label']; ?></option> 
<?php endforeach; ?> 
</select>