Форум программистов, компьютерный форум, киберфорум
PHP: ООП
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/10: Рейтинг темы: голосов - 10, средняя оценка - 4.60
 Аватар для Cheponya
2 / 2 / 0
Регистрация: 18.03.2014
Сообщений: 148

-ООП+ -MVC Выборка данных из БД

10.12.2015, 13:22. Показов 2055. Ответов 14

Студворк — интернет-сервис помощи студентам
Всем привет! Столкнулся с проблемой логики))))Точнее с логикой проблемы у меня видимо))
Из названия темы видно, что я пытаюсь изучить...
Суть проблемы в том, что я не могу понять почему не создается объект...приведу сразу код, потом опишу
Controller_Home:
Кликните здесь для просмотра всего текста

PHP
1
2
3
4
5
6
7
8
<?php
    class Controller_Home extends Controller{
        
       public function getIndexPage(){
           $this->view->getTemplate('home_view.php', 'template.php', $sth);
           $this->Model_Home->select('description');
       }
    }


Model_Home:
Кликните здесь для просмотра всего текста

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
 
    class Model_Home extends Model{
 
        public function select($table){
            $sth = $this->db->prepare('SELECT * FROM :table');    
            $sth->bindParam(':table', $table);
            $sth->execute();
        }
        public function get_data(){
           
        }
 
    }


Model:
Кликните здесь для просмотра всего текста

PHP
1
2
3
4
5
6
7
<?php
    class Model{
        public function __construct(){
           $DB = new DB();
           return $this->DB;
        }
    }

DB:
Кликните здесь для просмотра всего текста

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
    class DB {
        protected $hostname = "localhost";
        protected $password = "";
        protected $user = "root";
        protected $name = "start";
        private $db;
 
        public function connect() {
            try {
            $this->db = new PDO('mysql:host='.$this->hostname.'; dbname='.$this->name, $this->user, $this->password); 
            $this->query('SET NAMES utf8');
            return true;
            }catch (PDOException $e) {
            echo $e->getMessage();
            }
        }
 
    }

Home_View:
Кликните здесь для просмотра всего текста

PHP
1
2
3
4
5
6
7
8
9
  <?php
    if($sth){
        while($row = $sth->fetch()) {
            print_r($row);
        }
    }else{
        echo 'Где-то бл*ть ошибка<br>';
        var_dump($DB);
    }

________________________________________
В общем на выходе, как вы уже наверное поняли - "Где-то бл*ть ошибка" и отработка var_damp = NULL.

Подскажете?
Если надо будет выложу Контроллер и вьюшку головные, не выложил что б не захламлять)

Добавлено через 3 минуты
просто для информации.....шаблон выводит и файл home_view тоже подключается

Добавлено через 39 минут
Оу....код ошибки.....

Fatal error: Call to a member function select() on a non-object in Z:\home\classes\www\app\Controllers\Cont roller_Home.php on line 6
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.12.2015, 13:22
Ответы с готовыми решениями:

Вывод данных из БД MySQL с использованием MVC и ООП
Здравствуйте. Есть БД testing с таблицей testing с тремя полями: id, FIO, gryppa. Есть файл index.php следующего содержания: $connect =...

ООП с MVC
Подскажите кто знает. Есть логика в моделе вот код public function get_data() { $result =...

MVC и ООП
Добрый вечер, скажите где можно почитать или посмотреть пример применения паттерна MVC с использованием ООП, нашел на Хабрахабр но что там...

14
Web Programmer
 Аватар для JimUSA
325 / 286 / 121
Регистрация: 28.09.2011
Сообщений: 1,570
10.12.2015, 18:23
Cheponya, Загрузите ваш сайт в архив, и сделайте вложение,
если не желаете публично можете в лс.
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
10.12.2015, 23:35
Так а как вы из контроллера доступ к модели получаете?)))
0
 Аватар для Cheponya
2 / 2 / 0
Регистрация: 18.03.2014
Сообщений: 148
10.12.2015, 23:39  [ТС]
В головном контролере создается объект модели и вьюхи
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
10.12.2015, 23:45
Цитата Сообщение от Cheponya Посмотреть сообщение
В головном контролере создается объект модели и вьюхи
Ну так покажите))) ошибка указывает что Model_Home не объект
0
Web Programmer
 Аватар для JimUSA
325 / 286 / 121
Регистрация: 28.09.2011
Сообщений: 1,570
10.12.2015, 23:46
Так свойства db нету.
0
 Аватар для Cheponya
2 / 2 / 0
Регистрация: 18.03.2014
Сообщений: 148
10.12.2015, 23:47  [ТС]
головной Controller
PHP
1
2
3
4
5
6
7
8
9
10
<?php
    class Controller{
        public $model;
        public $view;
        
        public function __construct(){
            $this->view = new View();
            $this->model = new Model();
        }
    }
головная Model
PHP
1
2
3
4
5
6
7
8
<?php
    class Model{
        public function __construct(){
           $DB = new DB();
           $DB->connect();
           return $this->DB;
        }
    }
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
10.12.2015, 23:47
Кстати да объявили DB используете db
0
 Аватар для Cheponya
2 / 2 / 0
Регистрация: 18.03.2014
Сообщений: 148
10.12.2015, 23:49  [ТС]
Поменял давно уже на DB) увы( роли это не сыграло (

Сейчас архив залью
0
 Аватар для Cheponya
2 / 2 / 0
Регистрация: 18.03.2014
Сообщений: 148
10.12.2015, 23:51  [ТС]
classes.zip
вот
0
 Аватар для Cheponya
2 / 2 / 0
Регистрация: 18.03.2014
Сообщений: 148
11.12.2015, 00:04  [ТС]
Не хотел заливать не от того, что кто то этот код возьмет)))стыдненько прост)

Добавлено через 11 минут
Сознание чели потеряли?!)
0
306 / 101 / 18
Регистрация: 04.07.2014
Сообщений: 571
11.12.2015, 00:09
Cheponya,

PHP
1
2
3
4
public function getIndexPage(){
           $this->view->getTemplate('home_view.php', 'template.php', $sth);
           $this->Model_Home->select('description');
       }
PHP
1
2
3
4
public function __construct(){
            $this->view = new View();
            $this->model = new Model();
        }
$this->model vs $this->Model_Home
0
 Аватар для Cheponya
2 / 2 / 0
Регистрация: 18.03.2014
Сообщений: 148
11.12.2015, 00:43  [ТС]
mporro,
Не совсем понял....разве они конфликтуют?В контроллере создается объект модели, в модели создается объект БазыДанных, и вызывается метод конекта, в Model_Home наследуется от модели все и выполняется запрос....что то я не так сделал тут? по подробнее можно?

Добавлено через 25 минут
В общем дело было не в бабине((( Зря тратили все время....в роутере на модель путь не верный стоял( глупо....
Но занимательные вещи не перестают случаться)))щас борюсь с Вьюхой))) теперь она меня доводит)
0
306 / 101 / 18
Регистрация: 04.07.2014
Сообщений: 571
11.12.2015, 09:03
Цитата Сообщение от Cheponya Посмотреть сообщение
по подробнее можно?
В базовом котроллере Вы инициализировали переменную $this->model.
А в Controller_Home Вы обращаетесь к переменной $this->Model_Home, которая нигде не определена.
0
 Аватар для Cheponya
2 / 2 / 0
Регистрация: 18.03.2014
Сообщений: 148
11.12.2015, 09:21  [ТС]
mporro, после я уже суть понял) в Controller_Home я обращался к методу класса Model_home просто не было вызова класса этого...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.12.2015, 09:21
Помогаю со студенческими работами здесь

MVC и ООП
Пытаюсь разобраться с патетрном MVC в стили ООП, и не фига не пойму, если в процедурном стили мне более мение было понятно, то в ООП вообще...

ООП, Mvc Mfc C++
Здравствуйте! Пытаюсь реализовать видео плеер на Mfc с использованием Mvc. То как будут распределени обязанности? Кто за...

Тесты по ООП (MVC)
Тестовые вопросы по дисциплине «Объектно-ориентированное программирование» 5. Спецификация класса в MVC ++ размещается в файле с...

Литература ООП и MVC
Здравствуйте, поставил себе цель за лето выучить php, mvc, oop , если есть возможность ссылки на литературу для электронной книги (...

Проверьте сайт на ООП и MVC
Привет, я тут смотрел курс по php начальный. И начал второй (2 урока). В итоге, там было задание сделать сайт новостной с архитектурой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru