mysql — Показать категории, подкатегории и подкатегории, используя переполнение стека

Я работаю над веб-сайтом и этим веб-сайтом и хочу отображать категории> подкатегории> подкатегории.

Категория показывает. Но я тоже хочу показать подкатегорию.

Вот код категории

  <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>

Показываю вот так: — введите описание изображения здесь

Хотите Displa Как это: — введите описание изображения здесь

0

Решение

Прежде всего вам нужен способ хранения иерархии категорий в вашей базе данных. Простой способ (и, конечно, не самый лучший, поскольку он основан на упорядочении) — добавить в таблицу целочисленный столбец, указывающий, сколько «суб» -приставок имеет категория. Я предполагаю, что этот столбец называется 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 контролировать порядок категорий.

0

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector