2011-03-27 9 views
0

나는이 코드를 사용하여 drupal에서 선택 목록을 동적으로 생성합니다.목록 선택 허용 값

<select> 
<option value="0">row['field1']</option> 
</select> 

내가 어떻게이 일을이

<select> 
<option value="row['field1']">row['field1']</option> 
</select> 

같은 출력을 필요 같은

$res = db_query("select field1 from content_type_1"); 
while($row = db_fetch_array($res)){ 
$rows[] =$row['field1']; 
} 
return $rows; 

출력은?

답변

0

그것에 대해 확실하지,하지만 난 드루팔 있다고 가정 :

  • value 속성에 대한 배열의 키를 사용하여,
  • 을하고는 <option>의 내용과 배열의 값을 사용합니다. 이 사건이 있다면

,이에 루프를 변경하는 것은 도움이 될 수 :

while($row = db_fetch_array($res)){ 
    $rows[ $row['field1'] ] = $row['field1']; 
} 

는 이제 $rows 배열의 각 항목에 대한 키는 값과 같습니다.

+0

파스칼 마틴 감사합니다. 그것은 drupal에서도 작동합니다. – user677900

+0

위대한 :-) 다행스럽게 도울 수 있습니다. 재미있어! –

0

지금은 확실하지만, 데이터베이스에서 내 선택의 대부분은이 같은 로그를 찾습니다 도움이

<select name="cctype"> 
    <option value="" selected = "Selected" >Pick one</option> 
<?PHP 
while($row = db_fetch_array($res)) { 
    echo (' <option value="'.$row["field1"].'">'.$row["field1"].'</option>'); 
} 
?> 
</select> 

희망을.

실버 타이거

+0

drupal PHP 코드는 배열을 반환해야합니다. 내 코드를 봐. 고맙습니다. – user677900

1

이 코드는 SQL 쿼리를 작성하는 "드루팔 방법"을 따라야한다 "드루팔 준수"합니다.

당신은 (이 필요한 경우 드루팔이 접두사를 추가 할 수 있습니다)에 SQL 테이블의 이름 주위에 사용 {...} 할 필요가, 당신은에 어떤 양식, 그리고

$res = db_query("select field1 from {content_type_1}"); 
while ($row = db_fetch_array($res)) { 
    $rows[] =$row['field1']; 
} 

를 사용한다 사이트, 당신은 form API (select 문)를 사용한다

그래서 코드를해야 뭔가 같은 :

function mymodule_form(&$form_state) { 
    $form['mySelect'] = array(
    '#type' => 'select', 
    '#title' => t('A title'), 
    '#default_value' => '', 
    '#options' => get_rows(); 
); 
    return $form 
} 

function get_rows() { 
    $res = db_query("select field1 from {content_type_1}"); 
    while ($row = db_fetch_array($res)) { 
    $rows[] = $row['field1']; 
    } 
return $rows; 
} 

/* .. more code if needed .. */ 
// Then you can print your form. 
// This should be called by a hook_menu or a theme() function ... not alone like here. 
echo drupal_get_form('mySelect'); 
+1

감사합니다. 나는 폼이 필요 없다. 콘텐츠 유형이 있고 선택 목록 필드가 있습니다. 나는 이것을하기 위해 허용 된 값과 PHP 코드를 사용했다. – user677900