Добрый день! Правильный ли ход мысли? Что не так , в чём ошибка, что делать? Зачем использовать RedBeans ? папка models connect.php PHP: // подключение к базе данных class conn { private $con; function conn2(){ $this->con = new mysqli('localhost', 'root', '', 'site'); return $this->con; } } папка controllers фаил select.php PHP: // запрос в базу данных require_once"models/connect.php"; class sel { function __construct($mys){ $this->mys = $mys; } function sell(){ $select = $this->mys->query("SELECT * FROM company"); return $select; } } $mysqli = new conn; $mys = $mysqli->conn2(); $selct = new sel($mys); $s = $selct->sell(); папка view фаил index.php PHP: require_once"controllers/select.php"; class vw{ function viewSelect($s){ while($res = mysqli_fetch_array($s)){ echo "<p>$res[kompani]</p>"; } } } $avw = new vw; $avw->viewSelect($s);
Это у тебя там что, просмотр лезет в базу? Логика MVC не соблюдена. Контроллер должен передавать виду готовые данные. Классы у тебя по принципу "нехай будут", не надо так. Лучше уж совсем без них.
@viktor72, с др. стороны, если нет вменяемой шаблонизации, лучше ввести свой слой для fetch или хотя бы сосредоточить mysqli_fetch-ф-ции в оч. ограниченном наборе методов вьюшки, т.е. сделать соотв. обертку и использовать вызов $this->fetch(). P.S. Форыч может работать непосредственно с mysqli_result --- Добавлено --- P.P.S. Естественно, как выше написали, во вьшку можно передавать данные в обычном виде (в виде массива и т.п.).
В ЧЁМ КОНКРЕТНО ВЫРАЖАЮТСЯ ОШИБКИ В КОДЕ? --- Добавлено --- FETCH ЛЕЗЕ В БАЗУ? FETCH ПРЕОБРАЗУЕТ ТО ЧТО ДОСТАЛ ИЗ БАЗЫ В МАССИВ, ИЛИ Я ОШИБАЮСЬ? --- Добавлено --- ВОПРОС ТОЛЬКО В ТОМ , ЧТО КОНТРОЛЛЕРУ НЕ ПЕРЕДАЮТСЯ ГОТОВЫЕ ДАННЫЕ ИЛИ ЧТО ТО ЕЩЁ? ФУНКЦИЯ WHILE , FETCH ДОЖНЫ БЫТЬ НА СТОРОНОЕ КОНТРОЛЛЕРА. КАК ЭТО СДЕЛАТЬ? ИЛИ НЕОБХОДИМО ЗАДЕЙСТВОВАТЬДРУГИЕ ФУНКЦИИ? Я ПРЕДПОЛОЖИЛ СЛЕДУЮЩЕЕ: 1. ИМЕЕТСЯ КЛАСС ПОДКЛЮЧЕНИЯ К БАЗЕ ДАННЫХ, ОБЩИХ ДЛЯ ВСЕХ КЛАСОВ. 2. ИМЕЕТСЯ КЛАСС КОТОРЫЙ ДОСТАЕТ ИЗ БАЗЫ ДАННЫХ СУЩНОСТЬ "COMPANY". ПРЕДПОЛАГАЕТСЯ ЧТО СЮДА БУДУТ СОЗДАНЫ РАЗНЫЕ ВАРИАНТЫ СЕЛЕКТОВ ЭТОЙ СУЩНОСТИ. 3. ИМЕЕТ КЛАСС , КОТОРЫЙ ВВЫВОДИТ НА МОНИТОР СУЩНОСТЬ "COMPANY" --- Добавлено --- Пока что нет знания/понимания как это делается. Можно пример? --- Добавлено --- На данном этапе нет достаточных знаний/опыта. В чём может быть угроза/проблема, что использовался процедурный стиль?
??? Я вам практически все словами написал --- Добавлено --- Ну про трэйты еще почитайте, чтобы не дублировать код fetch 100500 раз, хотя можно и наследованием ограничиться.
Понятия для моего изучения: шаблонизация слой обёртка вызов - $this->fetch mysqli_result трейты Спасибо.