Как выбрать параметры внутри & lt; выберите несколько = & quot; true & quot; & gt; из массива php?

Поле внутри таблицы mysql, если оно не сериализовано, возвращает простой индексированный массив, например:

$biz_cats = array(4, 5, 8, 12, 17);

Я заполняю поле выбора, используя все категории, используя:

SELECT `ID`, `cat_name` FROM `tbl_categories`

Код для поля выбора ниже:

<select multiple="true" name="biz-cats[]" id="biz-cats" size="10">
<option value="0">-- SELECT ONE --</option>

<?php
// To populate all the categories to later-on allow user to select or de-select from
if ($categories && is_array($categories)) {
foreach ($categories as $category) {
echo '<option value="' . $category['ID'] . '">' . $category['cat_name']</option>';
}
}
?>
</select>

Поскольку эта форма предназначена для редактирования / обновления записи (не для добавления новой записи), мне нужно выбрать некоторые параметры в зависимости от $biz_catsЯ определенно должен выбрать их именно тогда, когда другие поля формы заполнены значениями в базе данных.

1

Решение

вы ищете in_array

if(in_array($category['ID'], $biz_cats)){ $selected = 'selected'; } else { $selected = ''; }
echo '<option value="' . $category['ID'] . '" ' . $selected . '>' . $category['cat_name']</option>';
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]