2016-11-11 2 views
0

array 내 코드에서 어떻게 루프 할 수 있습니까?배열 내의 PHP 루프

이 내 스크립트의 정적 버전은 다음과 같습니다

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

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

그런 다음, 나는 데이터베이스에서 valuelabel를 검색 할 필요가있다. 내가 그것을 실행하면 나는이 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); 

:

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

이 사람이 나를 도울 수를

그래서 나는 내 앞의 코드를 사용자 정의? 당신은 배열의 값으로 직접 루프를 사용할 수 없습니다

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>