loadmodel initialize functions php codeigniter view controller

php - initialize - load view codeigniter



Codeigniter: Pasar datos del controlador para ver (10)

En el controlador:

$data["result"] = $this->login_model->get_login(); // Get array value from DB.. $this->load->view(''login-form'',$data); // Pass the array to view

En vista:

print_r($result); // print the array in view file

Quiero pasar $data del controlador llamado poll a la vista de resultados; sin embargo, recibo un error variable indefinido.

<?php if ( ! defined(''BASEPATH'')) exit(''No direct script access allowed''); class Poll extends CI_Controller { public function __construct() { parent::__construct(); $this->load->database(); $this->load->helper(''form''); } public function index() { $this->load->view(''poll_view'',$data); } public function vote() { echo "Voting Successfull"; $this->db->insert(''votes'',$_POST); } public function results() { echo "These are the results"; //$query = $this->db->get(''votes''); $data = "hello"; $this->load->view(''results_view'', $data); } }

Results_view.php

<html> <?php echo $data; ?> </html>


En lenguaje sencillo,

$ data [''a''] en el controlador se convierte en $ a en su vista. ($ datos no existirán en su vista, solo el índice estará disponible)

p.ej

Controller: $data[''hello'']=''hellow world''; view: echo $hello;


En tu controlador puedes pasar

$data[''poll''] = "Your results";

En su opinión puede llamar

echo $poll;


He visto todas las respuestas anteriores, así que esto es lo que hago cuando tengo que cargar los datos del controlador a mi vista. Para pasar los datos a la vista desde el controlador:

public function your_controller(){ // Your Necessary Code // You have the $data, $data2, $data3 to post to the view. $this->load->view(''your_view_directory or view_page'',[''data''=>$data, ''data2''=>$data2, ''data3''=>$data3... so on ]); }

Y en el lado de la vista, simplemente puede recuperar esa información: Para mostrar, simplemente puede usar echo , print , print_r . Y si quieres recorrerlo, puedes hacer eso también.


La vista no llamaría a los datos ''datos''

El controlador incluiría un índice asociativo (no estoy seguro de si esa es la nomenclatura correcta) para los datos, por ejemplo, ''cosas'' que parezcan $data[''stuff'']

Harías echo en la vista así: echo $stuff; no echo $data;

Soy un violinista de código humilde, pero realmente me gusta CodeIgniter, discúlpame si tengo este culo sobre tit.

Una cosa más: seguramente su función de constructor es un desperdicio. Toda la carga de bibliotecas y ayudantes se realiza con el archivo de autocarga.


Ok, así que finalmente lo resolvió. Realmente deberías tener un modelo (ayuda mucho)

En su modelo, haga algo como

Modelo

class poll_model extends CI_MODEL { function __construct() { $this-load->database(); } function get_poll { $this->db->query("SELECT * FROM table"); $row = $query->row(); $obj = array( ''id'' => $row->id ); return $obj; } }

Ahora, si tiene más de un ID, digamos el nombre de la encuesta #, puede agregarlo en la matriz. Ahora en tu controlador haz

class Poll extends CI_Controller { public function __construct() { parent::__construct(); $this->load->database(); $this->load->helper(''form''); $this->load->model(''poll_model''); } public function index() { $data["a"] = $this->poll_model->get_poll(); $this->load->view(''poll_view'',$data); }

Y finalmente en VIEW put

<? echo $a["id"]; ?>

Esto es de gran ayuda. Lo descubrí probando y funciona para mí.


Solo necesitas crear una matriz, usando codeigniter ¿verdad?

Ejemplo en el controlador:

$data[''hello''] = "Hello, world"; $this->load->view(''results_view'', $data);

En la página "results_view" solo tienes que:

<?php echo $hello;?>

Obs: Puedes crear n datos, solo pon atención en el nombre y haz que sea una matriz.

Obs²: Para usar los datos usa la clave de la matriz con un eco.


puedes hacerlo de esta manera $ data [''hello''] = "hello";

a la vista echo $ hello;


$data debe ser una matriz o un objeto: http://codeigniter.com/user_guide/general/views.html

$data = array( ''title'' => ''My Title'', ''heading'' => ''My Heading'', ''message'' => ''My Message'' ); $this->load->view(''results_view'', $data);

results_view.php

<html> <?php //Access them like so echo $title.$heading.$message; ?> </html>


En el controlador:

producto de función pública () {

$data = array("title" => "Books", "status"=>"Read","author":"arshad","company":"3esofttech",

"sujeto": "ciencia de la computación");

Datos del modelo al controlador

$this->load->model(''bookModel''); $result = $this->bookModel->getMoreDetailsOfBook(); **Add *$result* from model to *$data* array** $data[''tableRows''] = $result;

$ datos del controlador para ver

$this->load->view(''admin/head'',$data);

Y para acceder a view view file / user.php

<?php echo $data; foreach($tableRows as $row){ echo $row[''startData'']; } ?>