2012-05-17 2 views
-1

에 값을 넣어하는 방법, 여기 내 페이지에서 옵션을 선택을하거나 드롭 다운 목록에서 옵션을 선택

입니다, 내 문제는 내가 내 옵션을 선택 가치 을 설정하는 방법이며,이 값은 데이터베이스에서 내 암호.

if(isset($_GET['status'])) 
    { 
     $status = $_GET['status']; 
    $sstatus="select ......."; 


    foreach($db->query($sstatus) as $rows) 
    { 
     $status= $rows['status']; 
     ...... 
       ...... 
       ...... 
     } 
    } 

내 HTML 태그의 상단에

<select name="status" value="<?php echo $status; ?>" > 

    <option value=""></option> 
    <option value="public">public</option> 
    <option value="private">private</option> 
    </select> 

나는 나의 코드를 수정 시도하고 작동 보인다있어하지만 내 문제가 드롭 다운 목록에서이 같은 값을 가지고 있다는 것입니다.

<select name="status" > 

    <option selected="selected"><?php echo $status; ?></option> 
    <option value="public">public</option> 
    <option value="private">private</option> 
    </select> 

가 다운 목록 내 드롭에 다음과 같이 표시됩니다,이에 대한 내 질문이 데이터베이스에서 제공되는 값을 표시의 올바른 방법 입니다.

공공
공공
개인

+0

은 $ 상태가 가득? 이 코드가 작동해야하기 때문입니다. PHP가 올바르게 설치되어 실행 중입니까? (이것을 확인하기 위해 시도하십시오) –

+0

http://stackoverflow.com/questions/7973908/change-selected-option-in-select-form – Pavel

+0

@LeonCullens, 이미 맨 위에 내 세트를 사용했습니다. 페이지 및 그 $ 상태가 이미 가치가 있지만 드롭 다운 목록에 표시에 갇혀 얻을 – jemz

답변

1
<select name="status" > 
    <option value=""></option> 
    <option value="public"<?php if (isset($status) && $status === 'public') echo 'selected'; ?>>public</option> 
    <option value="private"<?php if (isset($status) && $status === 'private') echo 'selected'; ?>>private</option> 
</select> 
+0

나는 옵션을 에코하려고한다면 내가 진술을 사용할 수 있습니까? 나는 또한 하루를 가지고 그것을 표시하여 내가 루프를 사용하고 나서 옵션을 에코하지만 옵션 내에서 if 문을 사용할 수 없습니다. – jemz

1
<?php $options = array('', 'public', 'private') ?> 

<select name="status"> 
<?php foreach ($options as $option): ?> 
    <option value="<?php echo $option ?>" <?php echo isset($status) && $status == $option ? 'selected="selected"' : '' ?>><?php echo $option ?></option> 
<?php endforeach ?> 

</select> 
관련 문제