Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как можно оптимизировать запрос в классе

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
koras
Отправлено: 07 Марта, 2012 - 15:07:44
Post Id



Частый гость


Покинул форум
Сообщений всего: 224
Дата рег-ции: Окт. 2009  


Помог: 0 раз(а)




Как можно сделать лучше

PHP:
скопировать код в буфер обмена
  1.  
  2.          
  3. class request_db  extends db {
  4.  
  5.         # My table
  6.         public $from;
  7.  
  8.         #order
  9.         public $order = false;
  10.         public $whereby = false;
  11.         # limit
  12.         public $start = 0;
  13.         public $finish = 1;
  14.         # request
  15.         public $while = false;
  16.        
  17.         public $select = false;
  18.  
  19.         public $group_by = false;
  20.  
  21.  
  22.  
  23.         public function select() {
  24.         if ($this -> from != false) {
  25.                 if ($this -> select != false) {
  26.                         $this -> request = "SELECT " . $this -> select . " FROM ";
  27.                 } else {
  28.                         $this -> request = "SELECT * FROM ";
  29.                 }
  30.  
  31.                 if ($this -> while != false) {
  32.                         $this -> request .= " WHERE " . $this -> while . " ";
  33.                 }
  34.  
  35.                 if ($this -> group_by != false) {
  36.                         $this -> request .= " GROUP BY  " . $this -> $group_by . " ";
  37.                 }
  38.  
  39.                 if ($this -> order != false) {
  40.                         $this -> request .= " ORDER BY  " . $this -> $order . " ";
  41.                         if ($this -> whereby != false) {
  42.                                 $this -> request .= $this -> whereby;
  43.                         }
  44.                 }
  45.                 $this -> request .= "LIMIT {$this -> start}, {$this -> finish};";
  46.                 return $this -> getAssocArr($this -> query($this -> request));
  47.         }
  48.           return 'no table';
  49.         }
  50. }
  51.  


Простой select или вообще по поводу селекта так не стоит заворачиваться ?

Решил пойти таким путём, так как есть объекты где меняется всего лишь название таблицы и поля, а дальше всё стандартно.

(Отредактировано автором: 07 Марта, 2012 - 15:12:15)

 
 Top
Bio man
Отправлено: 07 Марта, 2012 - 16:36:36
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




с точки зрения MVC, если можно так сказать, все запросы должны храниться в моделе. то есть нужно только передавать значения для запроса объекту базы данных. модель БД по сути и есть твой скрипт, только не вижу где параметры передаются. и зачем тебе наследование? ты наследуешь от db больше 1 класса или создаешь ибъект от db для исключительно других целей нежели чем работы с БД?

(Отредактировано автором: 07 Марта, 2012 - 16:37:06)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB