PHP mysqli создать окна выбора - PullRequest
0 голосов
/ 09 октября 2018

У меня есть код, который создает поле выбора.Для первого выберите поле;Выбранный параметр имеет значение 1, затем отобразите его как выбранный, а затем перечислите все остальное, которое не содержит того же значения.Работает хорошо, за исключением того, что вторая коробка не работает.Очевидно, мне не нравится, когда я копирую и меняю значения.Второе поле выбора ищет любые значения с 2. Третьим будет значение 3 и т. Д.

Каким образом я могу заставить их работать вместе?

<select name="first-box">
<?php
if ($result->num_rows > 0) {        
    while($row = $result->fetch_assoc()) {
        if($row['my_value']==1) { 
            echo "<option value='1' selected>" . $row["title"] . "</option>"; 
        } else if ($row['my_value']!==1) {
            echo "<option value='1'>" . $row["title"] . "</option>";
        }
    }
}
?>
</select>

<select name="second-box">
<?php
if ($result->num_rows > 0) {        
    while($row = $result->fetch_assoc()) {
        if($row['my_value']==2) { 
            echo "<option value='2' selected>" . $row["title"] . "</option>"; 
        } else if ($row['my_value']!==2) {
            echo "<option value='2'>" . $row["title"] . "</option>";
        }
    }
}
?>
</select>

Ответы [ 2 ]

0 голосов
/ 10 октября 2018

Если у вас будет более одного или двух, то чтение данных в массив и их циклическое перемещение по мере необходимости будет лучше / проще

<?php
if ($result->num_rows > 0) {        
    $data=$result->fetch_all(MYSQLI_ASSOC);
}
// stop php and do the <select> tag here or print() it
foreach($data as $row) {
    if($row['my_value']==1) { 
        echo "<option value='1' selected>" . $row["title"] . "</option>"; 
    } else if ($row['my_value']!==1) {
        echo "<option value='1'>" . $row["title"] . "</option>";
    }
}
// stop php or print() a </select>
// stop php and do the <select> tag here or print() it
foreach($data as $row) {
    if($row['my_value']==2) { 
        echo "<option value='2' selected>" . $row["title"] . "</option>"; 
    } else if ($row['my_value']!==1) {
        echo "<option value='2'>" . $row["title"] . "</option>";
    }
}
// stop php or print() a </select>
0 голосов
/ 10 октября 2018

Это может помочь

<?php
if ($result->num_rows > 0) {        
mysqli_data_seek($result,0);
while($row = $result->fetch_assoc()) {
    if($row['my_value']==2) { 
        echo "<option value='2' selected>" . $row["title"] . "</option>"; 
    } else if ($row['my_value']!==2) {
        echo "<option value='2'>" . $row["title"] . "</option>";
    }
}
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...