2011-07-28 6 views
0

데이터베이스에서 내 드롭 다운 목록을 채우는 값을 선택하는 코드가 있습니다. 하지만 내 질문은 내가 다른 데이터베이스에서 사용자가 선택한 값을 저장하는 경우, 나는 그 선택을 철회하고 선택한 선택을하는 방법에 대해 설명하겠다.DropDown 채우기 및 데이터베이스에서 선택한 값 가져 오기

<select name="dropdown1" id="dropdown1"> 

<?php 
for ($i = 0; $i < 5; $i++) 
{ 
    print '<option id="'.$options[$i]["ID"].'" value="'.$options[$i]["Value"].'">'.$options[$i]["Name"].'</option>'."\n"; 
} 
?> 
</select> 

그래서 사용자가 저장 한 값은 빨간색이라고 말할 수 있습니다. 내 드롭 다운 목록을 채울 때 어떻게 빨강을 선택 값으로 만들까요?

각 요소 덕분에 전자

+0

, 즉 올바른? 한 값이 선택되고 사용자가 페이지를 게시하면 이전 값이 반환 될 때 여전히 값이 선택된다는 의미입니다. – Drewdin

답변

0
<select name="dropdown1" id="dropdown1"> 

<?php 
$selected = "red"; 

for ($i = 0; $i < 5; $i++) 
{ 
    if ($options[$i]['Value'] == $selected) { 
     print '<option selected="selected" id="'.$options[$i]["ID"].'" value="'.$options[$i]["Value"].'">'.$options[$i]["Name"].'</option>'."\n"; 
    } else { 
     print '<option id="'.$options[$i]["ID"].'" value="'.$options[$i]["Value"].'">'.$options[$i]["Name"].'</option>'."\n"; 
    } 
} 
?> 
</select> 
0

하는 값을 시험한다. 값을 선택하면 'selected'가 인쇄됩니다. 보조 노트로

<select name="dropdown1" id="dropdown1"> 
<?php 
$selected = 'red';// obviously replace with DB value. 
for ($i = 0; $i < 5; $i++) 
{ 
    // start as normal 
    print '<option id="'.$options[$i]["ID"].'" value="'.$options[$i]["Value"].'"'; 

    // if this one is selected, add 'selected' to the tag. 
    // NOTE: booleans in HTML do not need to have an attribute value. 
    // so selected="selected" is not necessary here. 
    if($options[$i]["Value"] == $selected) print ' selected'; 

    // finish as normal 
    print '>'.$options[$i]["Name"].'</option>'."\n"; 
} 
?> 
</select> 

: 당신이 foreach는 사용하는 경우가 더 작고 컴팩트 있도록, 종종 빠른 코드합니다 :

당신이 선택 상자가 끈적하게 할
//this assumes that you want to iterate the whole options array 
foreach($options as $option) 
{ 
    print '<option id="'.$option["ID"].'" value="'.$option["Value"].'"'; 
    if($option["Value"] == $selected) print ' selected'; 
    print '>'.$option["Name"].'</option>'."\n"; 
} 
관련 문제