PHP.SU

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

Страниц (15): « 1 2 [3] 4 5 6 7 8 9 ... » В конец

> Найдено сообщений: 224
koras Отправлено: 27 Октября, 2011 - 10:41:17 • Тема: информация после # (якоря) • Форум: Вопросы новичков

Ответов: 15
Просмотров: 877
На javascript парсите урл и отправляете по средством ajaxна сервер, куда проще.Я одно время даже писал сайтик, на котором как раз такая операция была проделана.

Почитайте сперва про ajax, с чем его едят.
koras Отправлено: 03 Октября, 2011 - 22:05:49 • Тема: неправильная работа класса • Форум: Объектно-ориентированное программирование

Ответов: 15
Просмотров: 4657
Спасибо большое
koras Отправлено: 02 Октября, 2011 - 22:38:50 • Тема: неправильная работа класса • Форум: Объектно-ориентированное программирование

Ответов: 15
Просмотров: 4657
Тогда правильней будет так

PHP:
скопировать код в буфер обмена
  1.  
  2.     class DB{
  3.     public function connect() {}// метод синглтона
  4.     }
  5.     // и второй класс
  6.      
  7.     class NEWS {
  8.     public function query() {
  9.          $db = DB::getObj(); // ну тут ещё нужно проверить на подключение и т.д
  10.            $db->query();
  11. }
  12.     public function fetch_array() {}
  13.     public static function getObj() {}  
  14.     // и т.д
  15.          public function latest_news() {
  16.  
  17.          }
  18.     }
koras Отправлено: 02 Октября, 2011 - 19:52:39 • Тема: неправильная работа класса • Форум: Объектно-ориентированное программирование

Ответов: 15
Просмотров: 4657
PHP:
скопировать код в буфер обмена
  1. public static function getObj() {} // метод синглтона
  2.  


А здесь что должно быть, какие действия ?
Все действия с базой выше.
koras Отправлено: 02 Октября, 2011 - 17:55:13 • Тема: неправильная работа класса • Форум: Объектно-ориентированное программирование

Ответов: 15
Просмотров: 4657
У меня класс DB достаточно большой, там различный вывод query и так далее и разделять его как бы не логично. но если разделять то получиться вот что.

PHP:
скопировать код в буфер обмена
  1. class DB{
  2. public function connect() {
  3. // коннектимся к базе
  4. }
  5. }
  6.  
  7. class SqlQuery extends  DB {
  8.  
  9. // отправляем запрос к базе
  10. public function queryt() {
  11.  $this->connect();
  12. mysql_query("select *");
  13. }
  14.  
  15. // получаем ассоциативный массив
  16. public function getAssoc($result) {
  17.                 $res = array ();
  18.                 while ( $row = mysql_fetch_assoc ( $result ) )
  19.                         $res [] = $row;
  20.                 return $res;
  21.                
  22.         }
  23. // ну и так далее
  24. }
  25.  
  26. class NEWS extends  SqlQuery {
  27.         var $select,$data;
  28.          
  29.         public function latest_news() {
  30.                 $this -> select = "SELECT * FROM  news where news.activ = '1'  LIMIT 0,5;";
  31.                    $this->connect();//решение проблемы
  32.                 $this -> data = $this->query($this -> select);
  33.                 while ($while_fire = mysql_fetch_assoc($this -> data)) {
  34.                          $datas[] = $while_fire;
  35.                 }
  36.         return  $datas;
  37.         }
  38. }
  39.  
  40.  
  41.  



2 класса которые наследуют класс DB и в которых коннект оборвется и везде надо подключатся к базе заново.
Как решить такую проблему ?
koras Отправлено: 02 Октября, 2011 - 16:56:27 • Тема: неправильная работа класса • Форум: Объектно-ориентированное программирование

Ответов: 15
Просмотров: 4657
OrmaJever Вы правы, спасибо большое.
Понял свою ошибку.

Мелкий Можно конкретней.
Про паттерн singleton я читал, но сути не понял, то есть зачем это надо или для чего.


По идее класс db неправильный, не могу понять почему.

Предварительно я создаю обект класса db и работаю с ним, то есть он достаточно большой. но и решил его наследовать чтоб расширить его функционал в классе news и получается что при наследовании, когда коннект к базе был открыт раньше и делались запросы, он как бы закрывается.


то есть
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3.  
  4.  
  5. class DB {
  6.         var $login = "";
  7.         var $pass = "";
  8.         var $dbase = "";
  9.         var $server = '';
  10.  
  11.         public function connect() {
  12.                 $this->conn = mysql_connect($this->server, $this->login, $this->pass) or die(mysql_error());
  13.                 mysql_select_db($this->dbase) or die(mysql_error());
  14.                 mysql_query('SET character_set_database = utf8');
  15.                 mysql_query('SET NAMES utf8');
  16.         }
  17.  
  18.        
  19.         public function query($query) {
  20.                  
  21.                 $this->result = mysql_query ( $query, $this->conn );
  22.                
  23.                 if ($this->result)
  24.                         return $this->result;
  25.         }
  26.  
  27. }
  28.  
  29.  
  30.  
  31.  
  32. # дочерний класс
  33.  
  34. class NEWS extends  DB {
  35.         var $select,$data;
  36.          
  37.         public function latest_news() {
  38.                 $this -> select = "SELECT * FROM  news where news.activ = '1'  LIMIT 0,5;";
  39.                    $this->connect();//решение проблемы
  40.                 $this -> data = $this->query($this -> select);
  41.                 while ($while_fire = mysql_fetch_assoc($this -> data)) {
  42.                          $datas[] = $while_fire;
  43.                 }
  44.         return  $datas;
  45.         }
  46. }
  47.  
  48.  
  49.  
  50. $obj1 = new DB();
  51. $base -> connect();
  52.  
  53. // здесь мой код трололо
  54.  
  55. $base -> query("select * from table"); // etc
  56. // ....
  57.  
  58.  
  59. // вызываем дочерний класс
  60.  
  61. $obj2 = new NEWS();
  62. $obj2  ->latest_news() ;// коннекта к базе нет, но мы в классе прописываем  $this->connect();
  63.  
  64.  
  65.  
koras Отправлено: 02 Октября, 2011 - 16:08:30 • Тема: неправильная работа класса • Форум: Объектно-ориентированное программирование

Ответов: 15
Просмотров: 4657
Не понимаю,
Дальше по коду я объявляю класс, скажем так

PHP:
скопировать код в буфер обмена
  1.  
  2. $obj = new NEWS();
  3. $obj ->latest_news();
  4.  

Но должным образом не работает.
Что неправильно, подскажите?
koras Отправлено: 02 Октября, 2011 - 15:28:27 • Тема: неправильная работа класса • Форум: Объектно-ориентированное программирование

Ответов: 15
Просмотров: 4657
Есть класс

PHP:
скопировать код в буфер обмена
  1.        
  2.  
  3. class DB {
  4.         var $login = "";
  5.         var $pass = "";
  6.         var $dbase = "";
  7.         var $server = '';
  8.  
  9.         public function connect() {
  10.                 $this->conn = mysql_connect($this->server, $this->login, $this->pass) or die(mysql_error());
  11.                 mysql_select_db($this->dbase) or die(mysql_error());
  12.                 mysql_query('SET character_set_database = utf8');
  13.                 mysql_query('SET NAMES utf8');
  14.         }
  15.  
  16.        
  17.         public function query($query) {
  18.                  
  19.                 $this->result = mysql_query ( $query, $this->conn );
  20.                
  21.                 if ($this->result)
  22.                         return $this->result;
  23.         }
  24.  
  25. }
  26.  
  27. # дочерний класс
  28.  
  29. class NEWS extends  DB {
  30.         var $select,$data;
  31.          
  32.         public function latest_news() {
  33.                 $this -> select = "SELECT * FROM  news where news.activ = '1'  LIMIT 0,5;";
  34.                 $this -> data = $this->query($this -> select);
  35.                 while ($while_fire = mysql_fetch_assoc($this -> data)) {
  36.                          $datas[] = $while_fire;
  37.                 }
  38.         return  $datas;
  39.         }
  40. }
  41.        


не могу с дочернего класса получить результаты родителя, Если не из дочернего обращаться то всё тип топ, но мне надо именно из дочернего
koras Отправлено: 02 Октября, 2011 - 14:45:32 • Тема: Что есть Zend Engine 2.0 и с чем его едят • Форум: Прочее

Ответов: 0
Просмотров: 15
Постоянно слышу Zend Engine или просто зэнд. Я конечно не считаю себя профи в пыхе, но пишу давно и то что я сейчас имею мне вполне достаточно, но что конкретно даёт Zend и где и в каких случаях его используют.
wiki почитал, но всё ровно не догоняю.
Если можно простым языком и почему и где Вы его используете.
Это вроде как и есть двиг пыхи или на нём он работает.
Тем более непонятно, зачем его покупать надо.
koras Отправлено: 26 Сентября, 2011 - 14:46:46 • Тема: JSON и символы "\r\n"(перевода каретки) • Форум: JavaScript & VBScript

Ответов: 3
Просмотров: 3425
да но в JS не знаю как это делается.
У меня все проекты изначально в UTF, я уже костылей с этим себе набил в прошлом, хватит.
koras Отправлено: 26 Сентября, 2011 - 12:03:05 • Тема: JSON и символы "\r\n"(перевода каретки) • Форум: JavaScript & VBScript

Ответов: 3
Просмотров: 3425
Согласно стандарту сообщение этого типа должно быть закодировано в UTF-8. Это подтверждается на практике. Сообщения JSON, закодированные в UTF-8 и передающиеся с таким типом контента, корректно отображаются вне зависимости от кодировки HTML-страницы. Сообщения JSON, закодированные в Windows-1251 и передающиеся с таким типом контента, некорректно отображаются вне зависимости от кодировки HTML-страницы.
koras Отправлено: 26 Сентября, 2011 - 08:11:43 • Тема: Какую кодировку Вы используете? • Форум: Хранение данных, их вывод и обработка

Ответов: 30
Просмотров: 5798
Раньше когда слабо кодил , работал в основном на win-1251.
Сейчас же только UTF-8. Причин много,одна из них это то что во всех моих проектах используется JSON который категорически не поддерживает win-1251. Плюс многие проекты написанные ранее в win-1251 при переносе или редактировании, русско язычные символы просто отображаются в кракозябрах, ну и так далее. Можно много что написать о преимуществах UTF-8.
Если кто юзает win-1251, лучше почитайте что это за кодировка и чем она конкретно отличается от UTF и все вопросы отпадут сами собой )
koras Отправлено: 14 Сентября, 2011 - 12:15:55 • Тема: Копирование массива в классе • Форум: Объектно-ориентированное программирование

Ответов: 3
Просмотров: 2298
Блин, точно. Сегодня просто не ложился спать, реально надо поспать хотя бы часа 3.
Большое спасибо EuGen , туплю.
koras Отправлено: 14 Сентября, 2011 - 11:58:17 • Тема: Копирование массива в классе • Форум: Объектно-ориентированное программирование

Ответов: 3
Просмотров: 2298
PHP:
скопировать код в буфер обмена
  1.                 $st =  $handle;
  2.                 $dt =   $handle;
  3.                
  4.  
  5.                
  6.          while (($data = fgetcsv($st, 0, ";")) !== FALSE) {
  7.                  
  8.          }
  9.          
  10.                  
  11.                
  12.          while (($data = fgetcsv($dt, 0, ";")) !== FALSE) {
  13.                    
  14.          }
  15.  
  16.  
  17.  


Вторая функция просто не хочет работать. Все это находится в классе. То что это всего лишь ссылка на массив я понимаю, но как его скопировать или заставить работать второй while.

Спасибо
koras Отправлено: 08 Августа, 2011 - 20:30:27 • Тема: Класс навигации • Форум: Объектно-ориентированное программирование

Ответов: 6
Просмотров: 2540
Ну да как бы догоняю )

Страниц (15): « 1 2 [3] 4 5 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB