Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Многотабличный запрос в классе pager_mysql
 
 автор: Никос   (07.09.2009 в 18:35)   письмо автору
 
 

Здравствуйте.
Приобрёл Вашу книги «Практика создания Web-сайтов » 2-е издание, столкнулся с такой проблемой, мне надо реализовать многотабличный запрос в классе pager_mysql – постраничная навигация, чтобы из таблицы system_menu_paragraph вывести краткое описание для статей, т.е. поле “name” .
Если я правильно понимаю мне надо здесь прописать выборку для двух таблиц, но как это реализовать в объектно-ориентированном коде я затрудняюсь. Помогите решить эту задачу, если можно приведите пример реализации такой выборки.

Пример кода из pager_mysql.php
// Формируем запрос на получение
// общего количества записей в таблице
$query = "SELECT COUNT(*) FROM {$this->tablename}
{$this->where}
{$this->order}";
$tot = mysql_query($query);
if(!$tot)
{
throw new ExceptionMySQL(mysql_error(),
$query,
"Ошибка подсчёта количества записей");

  Ответить  
 
 автор: Trianon   (07.09.2009 в 18:42)   письмо автору
 
   для: Никос   (07.09.2009 в 18:35)
 

Очевидно, в $this->tablename должен быть помещен текст всего табличного выражения...

  Ответить  
 
 автор: Никос   (07.09.2009 в 19:22)   письмо автору
 
   для: Trianon   (07.09.2009 в 18:42)
 

Если можно приведите более подробный пример как это реализовать, т.е. как поместить текст всего табличного выражения в $this->tablename?

  Ответить  
 
 автор: cheops   (07.09.2009 в 19:25)   письмо автору
 
   для: Никос   (07.09.2009 в 19:22)
 

Сообщите какие таблицы вы связываете и по каким полям?

  Ответить  
 
 автор: Никос   (07.09.2009 в 19:46)   письмо автору
 
   для: cheops   (07.09.2009 в 19:25)
 

Таблицы system_menu_position поле "id_catalog" и system_menu_paragraph поле " id_position".

  Ответить  
 
 автор: Trianon   (09.09.2009 в 11:27)   письмо автору
 
   для: Никос   (07.09.2009 в 19:46)
 

Табличное выражение будет выглядеть как
system_menu_position AS n 
  JOIN system_menu_paragraph AS h 
    ON n.id_catalog = h.id_position

А помещать его помещать его в запрос, вероятно, Вам придется точно также, как помещали имя таблицы при однотабличном запросе.

  Ответить  
 
 автор: Никос   (09.09.2009 в 12:39)   письмо автору
 
   для: Trianon   (09.09.2009 в 11:27)
 

Большое спасибо за ответ!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования