2012-12-30 2 views
-1

사용자가 시간, 분 및 am/pm 옵션을 선택할 수 있도록합니다. 나중에이 옵션을 편집 할 수 있기를 바랍니다. 나는 같은 질문이 다른 질문들에도 적용될 것이므로이 질문을 위해 시간에 초점을 맞출 것이다.배열에서 mysql 쿼리를 기반으로 기본 옵션으로 옵션을 자동으로 선택합니다.

사용자가 처음에 시간을 선택하면 옵션에서 값을 선택합니다. 코드는 다음과 같습니다

<select> 
       <? 

     foreach($timehours as $key => $value){ 
     echo "<option name=\"hour1\" value=\"$key\">$value</option>"; 
     } 
      ?> 

</select> 

하고 $ timehours 목록은 다음과 같습니다

$timehours = array(
'01:'   => "1", 
'02:'   => "2", 
'03:'   => "3", 
'04:'   => "4", 
'05:'   => "5", 
'06:'   => "6", 
'07:'   => "7", 
'08:'   => "8", 
'09:'   => "9", 
'10:'   => "10", 
'11:'   => "11", 
'12:'   => "12", 
); 

(내가이처럼 이유는, 시간을 변환 그리고 난 그 잘라냅니다 SUBSTR이 ":"을 꺼내기 전의 시간에서 ":"을 뺀다. 따라서 그 부분을 신경 쓰지 마라.

사용자가 08:30 pm을 선택했고 08 부분이 $ hour를 사용하여 db에서 호출된다고 가정하자.

내가 다음 코드

 <select> 
       <? 

     foreach($timehours as $key => $value){ 
     echo "<option name=\"hour1\" value=\"$key\">$hour</option>"; 
     } 
      ?> 

</select> 

을 시도하고 그 결과 모든 옵션이 "08"이라고했다 (12 번 나열). 나는 $ key를 $ hour로 바꾸려고 노력했다. 그리고 내가 얻었던 것은 모두 "08"의 옵션이었다.

내가하려는 것은 드롭 다운()에 12 시간 옵션이 모두 표시되지만 특정 옵션에 selected = "selected"를 추가한다고 생각하십니까? 나는 초보자이며 어디서부터 시작해야할지 모르겠다 - 이것은 나의 첫번째 진짜 PHP 프로젝트이다. 감사! 올바른

+0

http://php.net/printf – hakre

답변

1

1 당신이 따옴표 및 그 구절 안에 작은 따옴표를 사용해야합니다. 두 번째로, 옵션이 아닌 선택을위한 이름을 입력해야합니다.

그래서 당신의 코드처럼 보일 것입니다 :

<select name = 'hour1'> 
      <? 

    foreach($timehours as $key => $value){ 
    echo "<option value='$key'>$value</option>"; 
    } 
     ?> 

</select> 

P.S.을 쉽게 읽을 수 있도록 인용문을 섞으십시오.

+0

고마워요! 나는 배열의 가치 부분을 죽이고 함께 갔다 :

0

: 모든

<select name='hour1'> 
foreach($timehours as $key => $text){ 
    if($key==$hour){ 
     echo "<option selected value=\"$key\">$text</option>"; 
    }else{ 
     echo "<option value=\"$key\">$text</option>"; 
    } 
} 
</select> 
+0

감사합니다. Dracony. 나는 그것을 시도했지만 작동하지 않았다. 결과는 전체 배열이 $ timehours에서 표시되었다는 것과 같습니다. $ value가 아닌 $ hour를 사용했을 때와 같습니다. –

+0

죄송합니다. 약간 졸 렸습니다. 이것을 시도하십시오 =) 사용자가 선택한 옵션 ($ hour)에 대해 설정해야하는 'selected'sttribute가 당신이 찾고 있던 것입니다. 또한 옵션이 아닌 '선택'요소의 이름을 설정하십시오. – Dracony

관련 문제