|
|
|
|
|
для: Slo_Nik
(20.03.2009 в 14:14)
| | Извините, не могли бы Вы скинуть, Ваш вариант переписанного класса? | |
|
|
|
|
|
|
|
для: Slo_Nik
(20.03.2009 в 12:52)
| | всё, разобрался. простая невнимательность не давала всё сделать сразу.
но возник другой вопрос.
зачем наследовать новый класс pager_mysql_multi от pager елси можно существующий pager_mysql чуть изменить, вернее добавить ещё один член класса?
какие преимущества появляются если наследовать отдельный класс для выполнения многотабличных запросов? | |
|
|
|
|
|
|
|
для: Dobrynin
(20.03.2009 в 11:57)
| | дело в том, что если не использовать класс, то я получал данные из таблицы как и написал в классе. я взял части из sql запроса и подставил в класс.
в простом запросе всё работает нормально и ни каких ошибок не выдаёт.
первое, что меня интересовало, это правильно ли я изменил класс и второе, это как дописать запрос?
если задать превдоним для таблиц, то выводится ошибка
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'photo.id_catalog = photocat.id_catalog AND photocat.id_catalog ' at line 2
проверил изменённый класс в работе с одной таблицей, всё работает. | |
|
|
|
|
|
|
|
для: Slo_Nik
(20.03.2009 в 11:37)
| | тебе нужен join или как ты собираешься выдёргивать данные из таблиц? | |
|
|
|
|
|
|
|
для: Dobrynin
(20.03.2009 в 06:26)
| | я пробовал сделать так
<?php
class pager_mysql extends pager{
// имена полей в таблицах
protected $weald
// дальше идут остальные члены класса
..................................................
// конструктор
public function __construct($weald = "",
и т.д.
)
$this->weald = $weald;
и т.д.
// метод get_page()
public fnction get_page(){
.............................................
//извлекаем позиции для текущей страницы
$query = "SELECT {$this->weald} FROM {$this->tablename}
{$this->where}
{$this->order}
LIMIT $first,{$this->get_pnumber()}";
..........................................................................................
}
}
?>
|
на странице где должен быто вывод информации,подключил класс, объявил объект
<?php
$obj = new pager_mysql("tb1.*,bt2.name AS name ","tb1,tb2","условие where","условие сортировки",3,2);
?>
|
но в конечном результате ни чего толком не получилось
ругнулось Not unique table/alias: 'photo'
и куда бежать, куда стрелять не могу понять...
подскажите, научите уму-разуму.... | |
|
|
|
|
|
|
|
для: Slo_Nik
(20.03.2009 в 01:43)
| | в конструктор закидываешь имена таблиц и поля по которым будет производиться JOIN, вот и всё | |
|
|
|
|
|
|
| в книге "ООП на PHP" в главе "постраничная навигация для базы данных" сказано, что для того, что бы можно было выполнять многотабличные запросы, надо создать новый класс.
как я понимаю добавить ещё один параметр в конструктор класса не достаточно.
если можно, подскажите кто может структуру класса? | |
|
|
|
|