Я создал список выбора с оптгруппами и опциями из mysql. Когда я попробовал следующий код, эта ошибка появляется, хотя optgroup верна, но опции показывают ошибку. Может кто-нибудь помочь мне исправить это, пожалуйста? Благодарю.
<select id="lr-cat" name="category">
<option value="0"></option>
<?php
$mysqli = new mysqli("localhost", "root", "password", "database");
$results = $mysqli->query('SELECT subcat_id, subcat_name, subcategories.cat_id, cat_name FROM subcategories INNER JOIN categories ON subcategories.cat_id=categories.cat_id');
$categories = array();
while ($row = $results->fetch_assoc()) {
$cat_name = $row['cat_name'];
if (!array_key_exists($cat_name, $categories)){
$categories[$cat_name] = array();}
$categories[$cat_name][] = array($row['subcat_id'], $row['subcat_name']);
}
mysqli_close($con);
?>
<?php foreach ($categories as $cat_name => $subcategories): ?>
<optgroup label="<?php echo htmlentities($cat_name); ?>">
<?php foreach ($subcategories as $subcat_name): ?>
<option value=$subcat_id><?php echo htmlentities($subcat_name); ?></option> <!--line 128-->
<?php endforeach; ?>
</optgroup>
<?php endforeach; ?>
</select>
ошибка
Предупреждение: htmlentities () ожидает, что параметр 1 будет строкой, задан массив
в строке 128
Задача ещё не решена.
Других решений пока нет …