PDA

Просмотр полной версии : SQL запрос


Полтиников
15.12.2004, 16:49
Народ, подскажите как написать SQL запрос в TS. Смотрю доку и не пойму, как задать синоним в запросе, как связи.
Может у кого есть пример посложнее, чем описант в TSref.

Valery Romanchev
15.12.2004, 17:03
когда мне потребовалось делать списки, создаваемые сложными запросами - я испльзовал экстеншен Select Pro.
Впечатление от экстеншена хорошее, патчится легко :-)

Как сделать в TS что-то сложнее, чем
в TSref, не смотрел (советую поискать в юзер листе по соотв свойствам типа andWhere, groupBy и т.п)

В TSref ты это смотрел:
5.0.5 select:
This object generates an SQL-select statement needed to select records from the database.

Some records are hidden or timed by start and end-times. This is automatically added to the SQL-select by looking in the tables.php-array (enablefields)

Also, if the \"pidInList\" feature is used, any page in the pid-list that is not visible for the user of the website IS REMOVED from the pidlist. Thereby no records from hidden, timed or access-protected pages are selected! Nor records from recyclers.

Полтиников
16.12.2004, 08:47
Да я смотрел Tsref 5.0.5
У меня сейчас стоит версия 3.7.0, попытался найти экстеншен Select Pro не увидел.

Valery Romanchev
16.12.2004, 14:33
Экстеншены загружаются из online repository
Если у тебя не загружает этот экс из online repository, то можно скачать себе на комп t3x файл отсюда http://typo3.org/extensions/repository/search/gst_selectpro/details/
и уже инсталировать экс как файл

Полтиников
16.12.2004, 19:35
Поставил selectpro (не знаю почему вчера не увидел), теперь буду разбираться с докой.

Полтиников
17.12.2004, 05:33
Я так понял что selectppro дает возможность создать запрос на странице.
А мне нужно использовать в шаблоне, с передачей уид текущей страницы.
Это возможно сделать?

Valery Romanchev
17.12.2004, 21:08
Да.

Может если его получтся вставить через TS, он сам возьмет uid страницы на которой вставлен?
( я его через TS никогда не вставлял).

Еще варианты:
TS точно должен позволять делать сложные запросы (в TS уид страницы легко получить)... так что можно копать в этом направлениии

еще я смотрел, что можно с помощью HMENU делать вещи которые совсем не меню

ну и наконец просто PHP остается

Полтиников
18.12.2004, 01:59
Использовать PHP для этой задачи не хотелось бы. Тогда получается каждый посетитель обращается к mySQL и не происходит должного кеширования. Что при большом количестве посетителей будет напрягать.

Разобрался с селектом, это вовсе не SQL запрос, а пародия на него. Но кое-что он может.
Встал вопрос использования дополнительной таблицы в MySQL и как ее зарегистрировать в TCA массиве, без этого селект не хочет с ней работать.

Сама задача построение альтернативного меню.
На определенном уровне меню выглядит так

Новые - Города Рынки Модель авто.
Подержанные - Города Рынки Модель авто.
Битые - Города Рынки Модель авто.

И если посетитель выбрал определенный город, то меню должно пересортироваться.

Новые - Рынки Модель авто.
Подержанные - Рынки Модель авто.
Битые - Рынки Модель авто.
Где уже идет ссылка на страницы именно этого города.

Поддержку сайта делает оператор, поэтому ввод должен быть простым, без дополнительных заведений в двух трех местах.

Valery Romanchev
18.12.2004, 05:30
Понятно.
Я думаю, что альтенативные меню лучше делать заточенными под это вещами.

И такие вещие есть:
IProcFunc
itemArrayProcFunc
(примеры в юзер листе есть)
Работающие примеры есть в пакете testsite (там в глубине, после DHTM-меню)

Я работал с этим, гогда генерил джаваскриптовый код с помощью HMENU и IProcFunc для коммерческого скрипта DHTML-tree menu.

Полтиников
19.12.2004, 20:54
спасибо,
буду копать дальше.