Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Выборка своими руками ($ignore_all = 1)

09.02.2010, 16:39
petun

Зарегистрирован:
2009-06-17
Сообщений: 28

Есть некий компонент. Допустим объекты от него находятся в разделе с $sub = 50;
Мне нужно вывести часть этих объектов, имеющих поле сtype = 1. Причем вывести в разделе с $sub = 85;

Для этого в системных настройках компонента пишу:
if ($sub == 85) {
$ignore_all = 1;
$query_where = "сtype = 1";
}

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

petun
09.02.2010, 17:25
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

Есть некий "каркас sql-запроса" select ... from ... where ... order by ... ,который вы можете дополнять.

Когда пишите $ignore_all=1, то весь каркас стирается и вам его надо самому с нуля составлять. В Вашем случае $ignore_all указывать вообще не надо. Задача решается путем дополнения штатного sql-запроса своими условиями.

Temet nosce...
09.02.2010, 18:12
petun

Зарегистрирован:
2009-06-17
Сообщений: 28

Цитата:
Когда пишите $ignore_all=1, то весь каркас стирается и вам его надо самому с нуля составлять

Если так, то с помощью каких переменных можно составить этот запрос??? $query_where , $query_select и остальные??
Вообще , посмотреть бы на то что получилось на выходе. а потом уже подправить как надо )


Цитата:
Задача решается путем дополнения штатного sql-запроса своими условиями.

я так понимаю мне нужно просто оставить $query_where = "сtype = 1"; и убрать $ignore_all = 1; ?

petun
09.02.2010, 23:19
petun

Зарегистрирован:
2009-06-17
Сообщений: 28

первое решил. кому интересно код выглядит вот так :

Код:
if ($sub == 85) {
$ignore_cc = 1;
$ignore_sub = 1;
$query_where = "catid = 1";
}


остался один вопрос, как мне составить запрос, если я указал
$ignore_all=1



petun
10.02.2010, 08:04
pe3udent
Артур Юсупов

Зарегистрирован:
2008-04-03
Сообщений: 220

petun писал(а):
остался один вопрос, как мне составить запрос, если я указал $ignore_all=1


Переменная $message_select хранит запрос для вывода информации в компоненте. Вставьте эту переменную в префикс и посмотрите запрос.
10.02.2010, 11:52
petun

Зарегистрирован:
2009-06-17
Сообщений: 28

Ооо.. Спасибо большое!

petun
27.02.2010, 19:49
Denis
Denis

Зарегистрирован:
2008-07-15
Сообщений: 666

Цитата:

остался один вопрос, как мне составить запрос, если я указал $ignore_all=1

Через переменные $query_select и $query_from, запрос будет выглядеть так:
SELECT $query_select FROM $query_from


Возможно еще использовать $query_join, $query_where, $query_order, $query_limit

Ксю доставляет...
28.02.2010, 03:39
Гость
Гость

Ооо. Спасибо.
198 196 2010-02-28 03:39:00 9854
Описание проекта