2012-04-12 3 views
0

다른 하나가 있습니다. 같은 날 두 번. enSlot의 값과 같으면 Target1-4의 값을 기반으로 선택된 옵션을 표시하는 4 개의 선택 상자를 설정하려고합니다.PHP는 선택 상자를 올바르게 업데이트하지 않습니다.

echo "<select id='target".$row['paSlot']."' size='1' style='width:90px;'>"; 
$query = "SELECT * FROM enemy WHERE enChar = ".$_SESSION['chNum']." ORDER BY enSlot"; 
$result1 = mysql_query($query, $_SESSION['connect']) or die('Error 150: '.mysql_error()); 
while ($row1 = mysql_fetch_array($result1)) { 
    $s = ""; 
    if ($_GET['Target1'] == $row1['enSlot']) { 
      $s = "selected='selected'"; 
    } 
    if ($_GET['Target2'] == $row1['enSlot']) { 
      $s = "selected='selected'"; 
    } 
    if ($_GET['Target3'] == $row1['enSlot']) { 
      $s = "selected='selected'"; 
    } 
    if ($_GET['Target4'] == $row1['enSlot']) { 
      $s = "selected='selected'"; 
    } 
    echo "<option value=".$row1['enSlot']." ".$s.">".$row1['enSlot'].". ".$row1['enRace']; 
} 
echo "</select>"; 

는 I이 그것을 실행

이 target1 = 1 TARGET2 = 2 Target3 = 3 Target4 = 4 적 = 1~4 기록 enSlot을 못한 - 4

그것이 실행될 때 나는 4 개의 모든 선택 상자에 Target4의 마지막 값이 선택되었음을 보여줍니다.

답변

1

없는 볼 ...이 작업을 시도 할 수 있습니다 :

while ($row1 = mysql_fetch_array($result1)) { 
    foreach($_GET[] as $target) { 
     if($target == $row1['enSlot']) { 
      echo "<option value=".$row1['enSlot']." selected=selected>".$row1['enSlot'].". ".$row1['enRace']."</option>"; 
     } else { 
      echo "<option value=".$row1['enSlot'].">".$row1['enSlot'].". ".$row1['enRace']."</option>"; 

     } 
    } 
} 
2
echo "<option value=".$row1['enSlot']." ".$s.">".$row1['enSlot'].". ".$row1['enRace']; 

내가 문제는 상관없이 항상 = 선택 선택됩니다 US $의 가치를 평가하는 조건 논리에서입니다 </option>

+0

감사합니다. 엉성한 프로그래밍이지만 문제가 해결되지 않았습니다. –

+0

$ s = "selected = selected"; 항상 설정? –

+0

당신의 권리, 이제는 어떻게 작동하는지 알아 내려고 –

관련 문제