2011-05-10 3 views
0

해당 제목이 실제로 문제를 설명하기를 바랍니다.PHP 주문 양식, "선택한"드롭 다운을 다시 채우십시오

3 단계 형식으로되어 있으므로 사용자는 2 단계에서 1 단계로 이동하여 세부 정보를 변경할 수 있습니다.

지금까지 모든 입력이 여러 선택 드롭 다운에서 완벽하게 다시 채워집니다.

배열의 foreach() 내에서 switch()으로 시도했지만 첫 번째 경우와 일치하는 것으로 보입니다. break;continue;으로 변경했지만 동일한 동작이 존재합니다.

배열은 2에서부터 항목 번호가 인 $key을 결합합니다.

$value 항목은 foreach()에 한 번만 출력됩니다.

누구나 아이디어가 있습니까?

foreach($combined as $key => $value) { 
      //firstload is only valid on first load 
        if($value != firstload) { 

        switch($value){ 
        case "1": 
         $selected0 = "selected=\"selected\""; 
         break; 
        case "5.00": 
         $selected1 = "selected=\"selected\""; 
         break; 
        case "10.00": 
         $selected2 = "selected=\"selected\""; 
         break; 
        case "45.00": 
         $selected3 = "selected=\"selected\""; 
         break; 
        case "85.00": 
         $selected4 = "selected=\"selected\""; 
         break; 
             } 

그런 다음 HTML 옵션을 선택 <option value="5.00" $selected1">

스위치는 대소 문자와 일치

, 그 다음 모든 foreach 문에 대한 경우와 일치합니다.

+0

정확한 코드 스 니펫을 볼 수 있습니까? – kapa

+0

당신은 당신의 코드를 게시해야 - 바람직 주석과 나는 확실히 누군가가 당신에게 나는 우리가 더 많은 코드를 필요가 있다고 생각 –

+0

도움이 될 것입니다, 단지 관련 부분을. 이 코드는 정말로'''결말이없는 결말 외에도 문제가 없기 때문에 오타라고 생각합니다. – ohmusama

답변

1

작업 할 코드가 없어도 도움이 될지 잘 모르겠습니다.하지만 여기에 필요에 맞게 다시 작성할 수 있습니다.

<select name="mySelect" multiple="multiple"> 
<?php 
    // Could come from sessions or POST data 
    $selected_array = array("1", "10.00", "85.00"); 

    // Could come from database or something else 
    $multiple_select_values = array("1", "5.00", "10.00", "45.00", "85.00"); 

    foreach($multiple_select_values as $value) { 
     $selected = ""; 
     if(in_array($value, $selected_array)) 
      $selected = " selected=\"selected\""; 

     echo '<option value="'. $value . '"' . $selected. '>' . $value .'</option>'; 
    } 
?> 
</select> 
+0

이렇게 해 주셔서 감사합니다. 문제를 설명하는 데 짜증이납니다. 나는 'elseif'를 사용하여 작동시키고 있는데,별로 좋지 않습니다. 다시 한번 감사드립니다. – eagleworks

관련 문제