0

ここに別のものがあります。同じ日に 2 回。enSlot の値と等しい場合、Target1-4 の値に基づいて選択されたオプションを表示する 4 つの選択ボックスを設定しようとしています。

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>";

私はこれでそれを実行します:

Target1 = 1、Target2 = 2、Target3 = 3、Target4 = 4 Enemy には 4 つのレコードがあり、enSlot = 1 - 4

実行すると、4 つの選択ボックスすべてに、選択されている Target4 の最後の値が表示されます。

4

2 に答える 2

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

私は行方不明を見ます</option>

于 2012-04-12T14:37:29.683 に答える
1

$s の値を評価する条件が常に選択されている=選択されていても、問題はロジックにあります...これを試すことができます:

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>";

        }
    }
}
于 2012-04-12T15:06:36.970 に答える