Tak więc mam ten problem, powinien być całkiem prosty, ale nie wiem, dlaczego nie mogę tego zrozumieć. Jestem nowy na cały pomysł MVC i próbuję przekazać zapytanie bazy danych z mojego kontrolera do widoku i wyświetlić wyniki w widoku. Sposób, w jaki teraz to robię, mówi "niezdefiniowana zmienna, sql" ., kiedy załadować widok to co mam:przekazywanie wyników kwerendy sql z kontrolera do widoku z zapisem kodu
kONTROLER
function make_login()
{
//Select list of departments for dropdown
$this->load->database();
$sql = $this->db->query('SELECT departmentName FROM department ORDER BY departmentName ASC');
$this->load->view('siteheader.php');
$this->load->view('makelogin.php', $sql->result_array());
$this->load->view('sitefooter.php');
}
wIDOK
<?php
foreach($sql->result_array() as $row)
{
echo $row['departmentName'];
}
?>
(Gdybym tylko echo ją w sterowniku, to wyświetla wyniki)
A ny pomoc byłaby niesamowita ... DZIĘKI!
Zobacz, jak posiadanie metody w 'login_model' ma teraz sens bardziej semantyczny? to oczywiste, co robi, możesz go łatwo rozszerzyć ... przerobić funkcję 'get_departments', aby pobrać ID jako parametr, a następnie zwrócić określony dział. Brak identyfikatora? Zwróć je wszystkie. – Ross
tak, to ma sens ... ale wydaje się, że dużo więcej pracy, jeśli zamierzam użyć tego zapytania w tym jednym miejscu ... dlaczego nie po prostu umieściłem to w kontrolerze? – Bill
Bo tak ma działać MVC, a raczej koncepcja. Nie musisz * nic robić. Ale co się stanie, jeśli pewnego dnia trzeba będzie dodać kolejną funkcję lub zapytanie? Czy to też przejdzie w kontrolerze? Poprzez włamanie się do MVC możesz stworzyć znacznie łatwiejszy w zarządzaniu kod. – Ross