Я работаю над веб-сайтом и этим веб-сайтом и хочу отображать категории> подкатегории> подкатегории.
Категория показывает. Но я тоже хочу показать подкатегорию.
Вот код категории
<select>
<option>Select Category</option>
<?php
$query="select * from mydb";
$result=mysqli_query($connect,$query);
while($r=mysqli_fetch_assoc($result))
{
?>
<option value="<?php echo $r['id']?>"><?php echo $r['title']?></option>
<?php } ?>
</select>
Прежде всего вам нужен способ хранения иерархии категорий в вашей базе данных. Простой способ (и, конечно, не самый лучший, поскольку он основан на упорядочении) — добавить в таблицу целочисленный столбец, указывающий, сколько «суб» -приставок имеет категория. Я предполагаю, что этот столбец называется level
,
Во-вторых, желаемый вывод использует флажки, а не список опций. Чтобы получить этот вид вывода категории / подкатегории, вы можете попробовать:
<input type="checkbox" style="margin-left: 0px" /> Category <br />
<input type="checkbox" style="margin-left: 20px" /> Sub-Category <br />
Чтобы сгенерировать что-то подобное, замените ваш код на
<?php
$query="select * from mydb";
$result=mysqli_query($connect,$query);
while($r=mysqli_fetch_assoc($result))
{
$id = $r['id'];
$indent = $r['level'] * 20;
$title = $r['title'];
echo "<input type=\"checkbox\" value=\"$id\" style=\"margin-left: ${indent}px\" />$title<br />";
}
?>
Я рекомендую добавить еще один столбец (например, my_order
) и добавить заменить запрос на select * from mydb order by my_order asc
контролировать порядок категорий.
Других решений пока нет …