X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Не могу разобраться с запросом
Hardander
Hardander
Topic Starter сообщение 12.9.2012, 15:14; Ответить: Hardander
Сообщение #1


Итак, встречаю я такой запрос:


$rows = $this->DATABASE->selectPage($totalRows, 'SELECT 1 vypusk, tabArticles.*, tabRubrics.*, tabNewsPaper.*, tabArticles.rating rating1, trTitle, tnpNumY FROM tabArticles, tabRubrics, tabNewsPaper WHERE tabArticles.show=1 AND trId = taRubricId AND tnpNumA = taNewsPaperNum AND taNewsPaperNum <> 2000000 AND taNewsPaperNum = '.$num_n.' AND tnpStatus <> 0
union all SELECT 2 vypusk, tabArticles.* , tabRubrics.*, tabNewsPaper.* , tabArticles.rating rating1, trTitle, tnpNumY FROM tabArticles, tabRubrics, tabNewsPaper WHERE tabArticles.show=1 AND trId = taRubricId AND tnpNumA = taNewsPaperNum AND taNewsPaperNum <> 2000000 AND taNewsPaperNum <> '.$num_n.' AND tnpStatus <> 0 '.$s.' LIMIT ?d,?d',$first, $limit);


Начинаю его читать: обращаемся к функции selectPage(), которая находится в переменной DATABASE, и DATABASE объявлена в текущем классе (надеюсь, правильно!).... Функция selectPage() содержит следующие аргументы: $totalRows, и объединенных запрос... И в этом сложном запросе мне не понятно следующее: после SELECT по идее должно идти название полей, откуда идет выборка... но полей 1 vypusk у меня нет ни в одной таблице... что это тогда есть и что сюда подставляется? И еще не понятна последняя часть запроса после LIMIT - ?d,?d',$first, $limit - что обозначают символы ?d,?d' - откуда они берутся и что в них подставляется?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
DieGo_mw
DieGo_mw
сообщение 20.2.2013, 0:31; Ответить: DieGo_mw
Сообщение #2


SELECT не обязательно выборка по столбцу в таблице, это может быть даже выражение, например

SELECT 1 + 1;

на выходе будет

+------------+
| 1 + 1 |
+------------+
| 2 |
+------------+

а 1 vypusk у вас используется видимо для обозначения результатов запроса
при union all.


?d, ?d

Вместно них подставляются значения для LIMIT

указанные как аргументы: $first, $limit

например показать с 30ой записи 10 записей, обычно это используется для постраничной навигации!

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыAdobe muse: Не могу разместить нужный мне код сразу после Body
0 Evg82 3832 20.6.2020, 10:24
автор: Evg82
Открытая тема (нет новых ответов) Могу сделать регистрации в букмекерских конторах
4 extremalspeed 2631 22.1.2019, 23:08
автор: hiberok
Открытая тема (нет новых ответов) Не могу выровнять блоки по правую сторону
1 Dark_Delphin 5908 18.11.2016, 0:14
автор: -Петр Чирнов-
Открытая тема (нет новых ответов) помогите разобраться
0 ata_hb 5461 31.7.2015, 11:12
автор: -ata-
Открытая тема (нет новых ответов) Помогите разобраться с проблемой отображения страницы.
1 g6734604 5350 10.7.2015, 22:11
автор: -g6734604-


 



RSS Текстовая версия Сейчас: 19.4.2024, 5:05
Дизайн