[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Undefined variable При отображение view
romani
есть 2 файла модель и вид.
в конце модели я присваиваю переменной значении функции.
$a = selectaray("SELECT * FROM users INNER JOIN zapiski ON users.id = zapiski.specialist WHERE id_otprav = {$_SESSION['id']}");
var_dump($a);


вар дамп он выводит , все хорошо.



но когда я после этого обращаюсь к виду и пытаюсь вывести 2 массива оттуда
то пишет что мол такой переменной нет.
foreach ($a  as $key=>$value ) {
echo $value['id'];}


а в файле модели этот форИч замечательно работает. Заранее спасибо.
arbuzmaster
А как Вы ВИД выводите?
Каким образом $a должна появится в Виде если её нет в контроллере?

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
arbuzmaster
class SiteController 
{
public function actionIndex()
{
$a=Класс::Метод(); // из модели

require_once ROOT.'/views/panel/index.php';
return TRUE;
}

Как то так должно быть - вызывается контроллер из него модель и вид, если у Вас MVC каркас

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
romani
это файл контроллера
<?php
require_once __DIR__ . '/models/panel.php';

//view select
dostupCheck();

а функция проверяет какой доступ у человека и подключает нужный вид.
function dostupCheck(){
if ($_SESSION['dostup'] ==0) {
require_once __DIR__ . '/../views/userpanel.php';
echo "dostup usera";
} elseif ($_SESSION['dostup'] >=1) {
require_once __DIR__ . '/../views/adminpanel.php';
echo "ravno dostup admina";
}

}


ну как то так. я пока без опп , пользуюсь процедурным стилем.
arbuzmaster
Как то все это печально!
Тогда нужно sql запрос обернуть в функцию

function getInfo()
{
$a = selectaray("SELECT * FROM users INNER JOIN zapiski ON users.id = zapiski.specialist WHERE id_otprav = {$_SESSION['id']}");
return $a;
}

А затем вызвать ее в Вашем коде

function dostupCheck(){
if ($_SESSION['dostup'] ==0) {
require_once __DIR__ . '/../views/userpanel.php';
echo "dostup usera";
} elseif ($_SESSION['dostup'] >=1) {
$a= getInfo();
require_once __DIR__ . '/../views/adminpanel.php';

echo "ravno dostup admina";
}

}

Как то так, но это все неправильно - ООП здесь даже рядом не проходило !
Но для того чтобы шпион не понял, что вообще происходит в коде, вполне сойдет! ;)

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
romani
function dostupCheck(){
if ($_SESSION['dostup'] ==0) {
$a = getInfo();
require_once __DIR__ . '/../views/userpanel.php';
echo "dostup usera";
} elseif ($_SESSION['dostup'] >=1) {
require_once __DIR__ . '/../views/adminpanel.php';
echo "ravno dostup admina";
}

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

function selectaray($query){
$connect = connectDB();
$result = mysqli_query($connect , $query);
$rez = [];
while ($row = mysqli_fetch_assoc($result) ){
$rez[] = $row;
}
return $rez;
}

вот эта функия возвращает массив. странно.
arbuzmaster
А вообще я бы посоветовал, почитать каких нибудь умных книжек или посмотреть видео курсы! Мне например понравился вот этот человек, вполне доступно объясняет для того, чтобы понять суть ООП

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
arbuzmaster
Потому, что у Вас не было этой переменной!

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
romani
смотрел его , пока он не начал применять его на деле у меня было все ок.
наследственность, полиморфизм, инкапсуляцию я понял.
но как все это на деле применить аххахаха
вот я и начал делать как умею и понимаю , вроде получается
но знаю что без ООП на работу не возьмут.
romani
а разве это не она?
$a = selectaray("SELECT * FROM users INNER JOIN zapiski ON users.id = zapiski.specialist WHERE id_otprav = {$_SESSION['id']}");
arbuzmaster
Каким образом эта переменная должна была попасть в function dostupCheck() ?
Если Вы не передали ее в параметрах функции function dostupCheck($a) или не создали её явно, внутри самой функции!


_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.