я могу отфильтровать свою таблицу после нажатия на заполненные выпадающие записи из моей таблицы sql.По умолчанию в таблице отображаются результаты из базы данных «готово» и «открыто».То, что я хочу, - это статическая запись в моем выпадающем меню, которая показывает мне «все» результаты, а также «текущие» результаты.
Вот моя таблица sql:
+--------+------+----------+
|StatusID| name | status |
+--------+------+----------+
| 1 | TC | open |
| 2 | HTS | on going |
| 3 | HTOL |finished |
+--------+------+----------+
Это мой HTMLвыпадающий с php-кодом, который предоставляет записи из таблицы sql.
<th>
<td>
<label class="wmfg_label_a" for="chk_Status"> Status </label>
</td>
<td>
<select name="StatusIDSuch[]" multiple="multiple">
<option disabled selected value> </option>;
<option value="alle" <?php if ($StatusIDSuch=="alle") echo 'selected="selected"'; ?>>alle</option>;
<?php
foreach($result as $m)
{
echo "<option value=\"" . $m['StatusID'] . "\">" .$m['Status'] . "</option>";
}
?>
</select>
</td>
</th>
Вот попытка показать мне все записи 1, 2 3 и не только мои по умолчанию 1,2, но это не будет работать.Важными моментами являются строки со словом "alle".
if(isset($_POST['StatusIDSuch'])) {
if ($StatusIDSuch == "alle"){
$search .= "WHERE StatusID IN ('1', '2', '3')";
var_dump($StatusIDSuch);
} else {
$i = 0;
$selectedOptionCount = count($_POST['StatusIDSuch']);
$selectedOption = "";
while ($i < $selectedOptionCount) {
$selectedOption = $selectedOption . "'" . $_POST['StatusIDSuch'][$i] . "'";
if ($i < $selectedOptionCount -1){
$selectedOption = $selectedOption . ", ";
}
$i ++;
}
$search .= " WHERE StatusID IN (".$selectedOption.")";
}
}
Спасибо за помощь.