[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Грамотный вывод из бд
Zzepish
Вообщем- есть две базы. В одной- категории, в другой- меню под них. В меню есть ячейка категории. Надо сделать вывод только с одним циклом и одной выборкой такого вида:
1 категория
Пункты меню в этой категории
2 категория
Пункты меню в этой категории

Во общем- реально ли?
inpost
Базы данных?

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Игорь_Vasinsky
inpost
да не.. таблицы.

Zzepish
ты бы струкутруты показал

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Zzepish
id|mebel|kategory_name

id|kategory
inpost
Не 1, а 2 выборки. Первая - первую таблицу, вторая - вторую. Далее на уровне ПХП формируй многомерный массив (склеивая данные), а потом перебором через foreach.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
sergeiss
Цитата (inpost @ 21.09.2012 - 03:17)
Не 1, а 2 выборки.

Человеку ж надо
Цитата (Zzepish @ 20.09.2012 - 01:32)
сделать вывод только с одним циклом

Zzepish - тут тебе JOIN нужен и правильная сортировка. Почитай мануал.


_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Игорь_Vasinsky
Цитата


Вот так разумней, но можешь и по именам искать

таблица mebel
id|mebel|kid

таблица kategory
kid|kategory_name



SELECT * FROM `kategory` `k` LEFT JOIN `mebel` `m` ON `k`.`kid` = `m`.`kid`


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Zzepish
inpost
тоесть через 1 никак?
sergeiss
просто склеить - нефиг делать через JOIN.
Мне надо, чтоб только 1 раз выводило категорию, а не много. Понимаешь? В принципе- если нагрузка будет не большая ,то могу и с 2-мя циклами сделть. Это не проблема, Просто я себе квалификацию повышаю)
sergeiss
Цитата (Zzepish @ 21.09.2012 - 18:17)
Мне надо, чтоб только 1 раз выводило категорию, а не много. Понимаешь? В принципе- если нагрузка будет не большая ,то могу и с 2-мя циклами сделть. Это не проблема, Просто я себе квалификацию повышаю)

ОК... Тогда нарисуй, что ты имеешь ввиду. В виде таблички, чтобы понятно было.

В первом приближении, если я понимаю верно, тебе надо все-таки сделать ДЖОЙН. Затем надо проанализировать, что ты выводишь по 1-й категории. Как только там оказывается новая величина (в т.ч. в самом начале), то ты ее выводишь. А если она повторяется, т.е. равна 1-й категории из предыдущей строки, то просто не выводить ее.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Zzepish
sergeiss
Вообщем смотри.

Есть 2 категории (допустим)
id|category
1|Шкафы
2|Стекла

И есть сама наполняемая таблица.

id|mebel|kategory_name
1|Дядя Вася|Шкафы
2|Лериан какойнить|Стекла.

Если б просто выборку сделать. Я б сделал легко.
Но мне надо так:

1. У раз вводится название категории.
2. Далее выводятся разделы, в категории.
3. Далее идет другая категория. И все повторяется.
neadekvat
Цитата (Zzepish @ 21.09.2012 - 18:17)
Просто я себе квалификацию повышаю

Пока что хреново повышаешь.
Тебе уже и структуру базы исправили, и запрос написали. Осталось в него добавить сортировку по id категории, а при выводе проверять, не пошли ли записи из следующей категории. Если пошли - выводить имя категории, нет - выводить только пункт.
Zzepish
neadekvat
слушай ! ты гений!
Я просто буду заносить в переменную!
И проверять! Все. Ок) спс)
neadekvat
Цитата (Zzepish @ 21.09.2012 - 19:29)

Я просто буду заносить в переменную!
И проверять! Все. Ок) спс)

lvl up wink.gif
Zzepish
neadekvat
Я придумал! чтоб вообще не было сбоев (мало ли чего). Можно создавать ассоциативный массив типа $check[$show['categosry']]
И задавать 1 или 0)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.