Регистрация
Вход через соцсети
Восстановление пароля

Специфический запрос к БД

Новый топик
29.09.2006, 00:07
Ответить | Цитировать
Гость
Гость

Подскажите пожалуйста,
как можно было бы модифицировать (через системные настройки) выдачу списка обьектов шаблона, чтобы по одному из полей шаблона выдавались только уникальные значения?

Поясню на примере: есть например поле ID, и есть много объектов со значениями ID, равными 2,3,4,5,3,4,3,4.
Так вот, нужно чтобы выдались только обьекты со значениями ID 2,3,4,5. При этом какой именно из обьектов с тем или иным значением ID будет выдан - неважно ...

Нашел в описании SELECT такой оператор DISTINC, но он работает при выборке по конкретному полю ...
29.09.2006, 10:52
Ответить | Цитировать
DmD

Зарегистрирован:
2006-06-29
Сообщений: 25

На SQL не знаю, а php можно так реализовать (возможно это даже лучшее решение, чем SQL)

добавить в выборку ORDER BY ID ASC а при выводе сделать что то типа этого


if ($tmp_id != $ID) echo .....
$tmp_id = $ID

Пусть каждый верит в то, что говорит, не обижайте их напрасно....
29.09.2006, 10:59
Ответить | Цитировать
Гость
Гость

DmD, спасибо!
Да, это правильная мысль, я сам так не додумался,
правда если объектов будет слишком много, и нужно будет по каждому проверять условие - доп. нагрузка ...
29.09.2006, 16:04
Ответить | Цитировать
Гость
Гость

Конструкция эта у меня заработала, но:
такая "специфическая" выдача объектов должна была происходить по некому условию - я передавал в шаблон параметр,

+ существовала еще "нормальная" выдача - всех обьектов.
Так вот теперь, после вставки этой php-конструкции с if в шаблон выдачи списка обьектов получилась оказия .... Префикс списка обьектов выводится после списка!
(а суффикс - после префикса ;) )

Почему так?
29.09.2006, 16:20
Ответить | Цитировать
Гость
Гость

Мало того,
префикс оказывается после списка даже если в объект в списке вставить просто
";
echo"

а без этого - все нормально ...
29.09.2006, 17:58
Ответить | Цитировать
DmD

Зарегистрирован:
2006-06-29
Сообщений: 25

Попробуйте так

" . opt($tmp_id != $ID, "вывод данных") . "
" . opt($tmp_id = $ID, "") . "

Пусть каждый верит в то, что говорит, не обижайте их напрасно....
29.09.2006, 18:36
Ответить | Цитировать
Кирилл Хряпин

Зарегистрирован:
2006-06-15
Сообщений: 207

Цитата:
есть например поле ID, и есть много объектов со значениями ID, равными 2,3,4,5,3,4,3,4.
Так вот, нужно чтобы выдались только обьекты со значениями ID 2,3,4,5. При этом какой именно из обьектов с тем или иным значением ID будет выдан - неважно ...

В системных настройках шаблона укажите:
$query_group = "ID";
30.09.2006, 00:34
Ответить | Цитировать
Гость
Гость

kx писал(а):
В системных настройках шаблона укажите:
$query_group = "ID";

Ну конечно!!!
Я был уверен, что этот ларчик просто открывается ...
Спасибо!!!
02.10.2006, 10:09
Ответить | Цитировать
DmD

Зарегистрирован:
2006-06-29
Сообщений: 25

Век живи, век умней =))

Пусть каждый верит в то, что говорит, не обижайте их напрасно....
198 196 2006-10-02 10:09:06 8753
Описание проекта