Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Постраничный вывод из двух таблиц 
V
    Опции темы
Serkys
Дата 18.4.2006, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1061
Регистрация: 19.4.2004

Репутация: нет
Всего: 22



Собственно, имеются 2 таблицы. Требуется вывести из них данные по 25 (к примеру) полей на страницу. Сначала данные выводятся из первой таблицы, но если их не хватает - подрубается вторая.
С одной таблицей разобрался, без проблем. Но с двумя таблицами запарка страшная.
Кто-нибудь сталкивался с такой проблемой? 
PM MAIL   Вверх
madFobos
Дата 19.4.2006, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 102
Регистрация: 7.12.2005

Репутация: нет
Всего: 3



А что за таблицы? Если таблицы баз данных, то какие проблемы? Делаешь запрос, смотришь количество полученных строк и если не хватает делаешь запрос второй таблицы. Другой вариант использовать UNION и LIMIT в самом запросе. 
PM MAIL   Вверх
Serkys
Дата 19.4.2006, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1061
Регистрация: 19.4.2004

Репутация: нет
Всего: 22



Цитата(madFobos @  19.4.2006,  18:12 Найти цитируемый пост)
Делаешь запрос, смотришь количество полученных строк и если не хватает делаешь запрос второй таблицы.

С первой страницей это запросто. Но с последующими страницами получается лажово. Надо как-нибудь передавать номер последней выведенной записи и название таблицы, из которой она выведена. Проблема в том, что адресация по страницам у меня идёт через переменную p, передаваемую через URL. Вроде index.php?menu=21&p=3. Так что мне на каждой странице надо вычислять то, с какой записи выводить.
Короче, геммор ещё тот.

Желательно сделать так, как я описал. Если не получится, придётся передавать номер последней выведенной записи и название таблицы через URL, но это неприкольно. 
PM MAIL   Вверх
Serkys
Дата 19.4.2006, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1061
Регистрация: 19.4.2004

Репутация: нет
Всего: 22



madFobos, спасибо за моральную поддержку.

Сделал вот как: на каждую страницу выводится по 10 разделов и по 10 статей. Помучиться пришлось, но сделал всё-таки. Если кому понадобится алгоритм (щас расписывать ломает) стучитесь в ПМ, распишу.
 smile 
Рад несказанно smile  
PM MAIL   Вверх
Ciber SLasH
Дата 20.4.2006, 01:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: нет
Всего: 67



Цитата(Serkys @  19.4.2006,  22:40 Найти цитируемый пост)
Если кому понадобится алгоритм (щас расписывать ломает) стучитесь в ПМ

Интересует, тока наверно лучше отписаться здесь, и народ не будет ПМ-ить тебя и инфа будет доступна всем. А ты потом, если будет аналогичный вопрос, гордо будешь тыкать носом в эту тему. smile  
PM   Вверх
MuToGeN
Дата 20.4.2006, 04:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: 4
Всего: 32



Запрос типа
SQL
SELECT `table1`.*, 1 AS `table_number` UNION SELECT `table2`.*, 0 AS `table_number` ORDER BY `table_number` DESC; 
Постраничный вывод есть в FAQ. 


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
Serkys
Дата 20.4.2006, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1061
Регистрация: 19.4.2004

Репутация: нет
Всего: 22



Цитата(Ciber SLasH @  20.4.2006,  02:12 Найти цитируемый пост)
Интересует, тока наверно лучше отписаться здесь, и народ не будет ПМ-ить тебя и инфа будет доступна всем. А ты потом, если будет аналогичный вопрос, гордо будешь тыкать носом в эту тему.

Чуть позже распишу, ща занят. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

Внимание: данный раздел предназначен для решения сложных, нестандартных задач.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Для профи | Следующая тема »


 




[ Время генерации скрипта: 0.0589 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.