CodeIgniter - Stirrat mig blind

Permalänk

CodeIgniter - Stirrat mig blind

Goddagens!

Jag har precis börjat konvertera till ett MVC Framework, men har lite hjärnstillestånd för tillfället och kan verkligen inte se vad jag missar så jag tänkte någon vänlig själ kanske kunde kasta ett öga på vad som kan tänkas ha blivit missat av mig.

Hämtar jag ut alla resultat från min query direkt i controllern, print_r($db_query); , så får jag alla resultat direkt utan något problem men den skickar inte vidare den datan till min view av någon anledning.

Min databas klass

<?php class Get_db extends CI_Model{ function getAllFrontPage(){ $query = $this->db->query("SELECT * FROM test"); return $query->result(); } }

Min kontroller för startsidan

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Home extends CI_Controller { function __construct(){ parent::__construct(); } public function index(){ $this->load->model('get_db'); $db_result['result'] = $this->get_db->getAllFrontPage(); # print_r($db_result); // Här skickas data ut utan problem! $data = array('title' => 'Titel', 'main_content' => 'home_v', $db_result); $this->load->view('template', $data); } }

Min modell

<?php class Home_model extends CI_Model { # För tillfället tom! }

Min view

<?php foreach($result as $row){ echo $row->id; }

Slutligen felmeddelandet

Ett PHP fel uppstod Allvarlighetsgrad: Meddelande Meddelande: Undefined variable: result Filnamn: views/home_v.php Radnummer: 28 Ett PHP fel uppstod Allvarlighetsgrad: Varning Meddelande: Invalid argument supplied for foreach() Filnamn: views/home_v.php Radnummer: 28

Visa signatur

AMD Ryzen 5800X3D | Corsair Hydro H115i RGB Platinum | 32gb G.Skill DDR4 @ 3600mhz | Asus X570-F | PowerColor RX6900XT RedDevil Ultimate | 1TB m.2 SSD gen 4 | 256gb m.2 SSD gen 4 | 1TB HDD | Phanteks Revolt Pro 1000W | Phanteks Eclipse P500A

Permalänk

Räckte att jag postade här så löste jag problemet.
Mod, lås och ta bort tråd om ni vill.

Visa signatur

AMD Ryzen 5800X3D | Corsair Hydro H115i RGB Platinum | 32gb G.Skill DDR4 @ 3600mhz | Asus X570-F | PowerColor RX6900XT RedDevil Ultimate | 1TB m.2 SSD gen 4 | 256gb m.2 SSD gen 4 | 1TB HDD | Phanteks Revolt Pro 1000W | Phanteks Eclipse P500A

Permalänk
Skrivet av Fjanterifjant:

Räckte att jag postade här så löste jag problemet.

Vad var fel och hur löste du det?

Permalänk

Jag fick ett smärre hjärnsläpp och löste det:

I kontrollern:

$this->load->model('model_db_get'); $db_result['result'] = $this->model_db_get->getAllFrontPage(); $data = array('title' => 'Sidans titel', 'main_content' => 'home_v', 'result' => $db_result['result']); // Skyfflade in datan som en array direkt in i $data $this->load->view('template', $data);

I databas modellen:

<?php class Model_db_get extends CI_Model{ function getAllFrontPage(){ $query = $this->db->query("SELECT * FROM tabell WHERE category='1' AND active='1' ORDER BY id DESC"); return $query->result(); } public function __construct(){ parent::__construct(); } }

I viewen

<?php foreach($result as $row){ echo "<div class=\"adwrapper\"> <div class=\"adimagewrapper\"> <a href=\"".$row->client_url."\" target=\"_blank\"><img src=\"".$row->client_banner_img_url."\" alt=\"".$row->client_url."\" class=\"adimage\"></a> </div> <div class=\"adtoolbar\"> <a href=\"#\">Top 3</a> <a href=\"#\">Om oss</a> <a href=\"#\">Gilla oss</a> </div> </div>"; }

Visa signatur

AMD Ryzen 5800X3D | Corsair Hydro H115i RGB Platinum | 32gb G.Skill DDR4 @ 3600mhz | Asus X570-F | PowerColor RX6900XT RedDevil Ultimate | 1TB m.2 SSD gen 4 | 256gb m.2 SSD gen 4 | 1TB HDD | Phanteks Revolt Pro 1000W | Phanteks Eclipse P500A