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]   

> Без описания
dcc0
Отправлено: 22 Декабря, 2015 - 13:21:01
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


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




Стесняюсь спросить, в ООП нормально так делать? Я про вывод внизу.
Или это не очень?
Спойлер (Отобразить)

(Отредактировано автором: 22 Декабря, 2015 - 13:41:16)



-----
Март 2021. Бросил программирование
 
 Top
esterio
Отправлено: 22 Декабря, 2015 - 18:48:19
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




Очень плохой код, даже не то про вывод, а все вместе.
1. старый драйвер mysql_*
2. нету инкапсуляции
3. а что будет сли нужно из нескольких таблиц тянуть данные одновременно
4. нету обработкы ошибок
 
 Top
dcc0
Отправлено: 22 Декабря, 2015 - 18:57:28
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


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




Цитата:
2. нету инкапсуляции

Не понимаю пока. Нахмурился
Сижу с учебником
(Добавление)
Не могу понять, почему у меня двойной вывод получается?! Хм

Спойлер (Отобразить)

(Добавление)
Как-то странно вытягивается массив, все ключи дублируются числовыми.
(Добавление)
Ламер
(Добавление)
Спойлер (Отобразить)

Ладно, теперь попробую с mysqli

(Отредактировано автором: 22 Декабря, 2015 - 19:00:23)



-----
Март 2021. Бросил программирование
 
 Top
dcc0
Отправлено: 23 Декабря, 2015 - 02:04:25
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


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




Спойлер (Отобразить)

А если мне нужно из разных скриптов переопределять хотя бы таблицу, как быть?
Я верно думаю, что в этом случае инкапсуляция есть? Но переопределить table я уже не могу

(Отредактировано автором: 23 Декабря, 2015 - 02:10:00)



-----
Март 2021. Бросил программирование
 
 Top
esterio
Отправлено: 23 Декабря, 2015 - 16:53:03
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




dcc0 пишет:
Не могу понять, почему у меня двойной вывод получается?!

Почитайте об иттераторах. В вашем случає сначала нужно результат занести в переменную, и лишь потом обходить foreach-ом
dcc0 пишет:
А если мне нужно из разных скриптов переопределять хотя бы таблицу, как быть?
Я верно думаю, что в этом случае инкапсуляция есть? Но переопределить table я уже не могу

У Вас в архитектуре класса пробемы. А также давайте названния внятные. Например не baza а database, не uzer а user
(Добавление)
Простите но долго обьяснять как сделать правилную архитектуру. Плюс ко всему каждый написал бы по своему. Но единственное что я вам порекомендую, так это забыть то что вы написали и сделать по другому. Во-первых, винисете коннект к базе в отдельный класс, также сделайте методы query, queryAll, queryRow, escape и сделайте синглтоном. Хотя в этом нет по сути ничего хорошего ибо тот же PDO сам имеет все ети методы, но это все же лучше чем то что у вас. А далее валяйте модели, которые собственно и делают запросы к базе с помощью класса DB. А уже сама модель пусть в себе хранит имя таблицы. Ну а если идти еще дальше, то лучше использовать готовый фреймворк с уже готовым DB Layer-ом
 
 Top
dcc0
Отправлено: 23 Декабря, 2015 - 19:43:35
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


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




esterio, спасибо


-----
Март 2021. Бросил программирование
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB