За последние 24 часа нас посетил 55601 программист и 1801 робот. Сейчас ищут 969 программистов ...

Вопрос (Многоуровневое меню)

Тема в разделе "PHP для новичков", создана пользователем ssh, 10 июн 2009.

  1. ssh

    ssh Активный пользователь

    С нами с:
    15 апр 2009
    Сообщения:
    164
    Симпатии:
    0
    Как лучше реализовать такое меню.
    Допустим, если user нажимает на мясо то выскакивают все продукты принадлежащие мясу, если в "мясе" нажать на замороженное, то выведется всё замороженное мясо. Так же с рыбой и курицей.

    Как лучше это реализовать?

    Я так думаю, каждому меню присвоить id, и делать php проверку в view_cat.php?id=101 на вывод продуктов из БД.


    --Мясные, рыбные и куриные продукты (id=1)
    -Мясо (id=101)
    Свежее (id=1001)
    Замороженное (id=1002)
    -Рыба (id=102)
    Свежая (id=1003)
    Замороженная (id=1004)
    -Курица (id=102)
    Свежая (id=1005)
    Замороженная (id=1006)


    Получается что php проверка должна быть на каждый id, а если продуктов много? Как можно упростить задачку?
     
  2. ssh

    ssh Активный пользователь

    С нами с:
    15 апр 2009
    Сообщения:
    164
    Симпатии:
    0
    Так данная моя теория реальна или нужно всё ещё вносить коррективы?
     
  3. akrinel

    akrinel Активный пользователь

    С нами с:
    26 янв 2009
    Сообщения:
    955
    Симпатии:
    1
    Адрес:
    Spb
    Поясните, правильно ли я понял задачу:

    Человек щелкает на пункте меню, нужно "развернуть" менюшку до выбранного уровня + выводятся подпункты выбранной менюшки?

    Ну да придется идти по дереву до выбранной категории.

    Оптимизировать нужно то, что требует оптимизации.
    Какая запланированная посещаемость данного ресурса?

    ИМХО можно подпункты разворачивать JS ом.
    Тогда меню всегда выдаем в "стандартном" виде. А потом на клиенте оно уже разворачивается не тратя драгоценные ресурсы нашего сервака.
     
  4. ssh

    ssh Активный пользователь

    С нами с:
    15 апр 2009
    Сообщения:
    164
    Симпатии:
    0
    А каким путём лучше идти если есть такое меню:

    <ul>
    <li><a href="#">aaa</a></li>
    <li><a href="#">bbb</a>
    <ul>
    <li><a href="#">bbb1</a></li>
    <li><a href="#">bbb2</a></li>
    <li><a href="#">bbb3</a></li>
    </ul>
    </li>
    <li><a href="#">ccc</a>
    <ul>
    <li><a href="#">ccc1</a></li>
    <li><a href="#">ccc2</a></li>
    </ul>
    </li>
    </ul>

    1. использовать do while для вывода id из базы.
    2. каждому a href прописать свой id.

    Какой вариант лучше?
     
  5. ssh

    ssh Активный пользователь

    С нами с:
    15 апр 2009
    Сообщения:
    164
    Симпатии:
    0
    В 1-ом варианте получается очень много запросов к базе, думаю что 2-ой вариант лучше!