Foros del Web » Programando para Internet » PHP » CodeIgniter »

CodeIgniter pasar variable a view

Estas en el tema de CodeIgniter pasar variable a view en el foro de CodeIgniter en Foros del Web. Buenas Tengo mi modelo creado y el controlador al cual quiero pasarle las variables para usarlas en mi vista, pero me dice undefined variable ultimos_usuarios ...
  #1 (permalink)  
Antiguo 21/04/2011, 20:15
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 20 años, 8 meses
Puntos: 3
CodeIgniter pasar variable a view

Buenas

Tengo mi modelo creado y el controlador al cual quiero pasarle las variables para usarlas en mi vista, pero me dice undefined variable ultimos_usuarios

Tengo esto:

En controllers el file principal.php:
Código PHP:
 $ultimos_usuarios $this->Ultimos_model->ultimos_usuarios();
          
$this->load->view('principal', $$ultimos_usuarios); 
El model Ultimos_model:

Código PHP:
function ultimos_usuarios() {
              
$this->load->model('Ultimos_model');
              
$arrayUltimosusuarios $this->Ultimos_model->ultimos_usuarios;
              
$contar "miquery";
          
$contarok mysql_query($contar);
          
$total_records mysql_num_rows($contarok);
          
$n_usuarios mysql_num_rows(mysql_query("miquery"));
          
$last_user_sql mysql_query("miquery");
              return 
$last_user_sql;
        } 
y en la view hago un echo a $ultimos_usuarios;

Que hago mal?
  #2 (permalink)  
Antiguo 21/04/2011, 20:26
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: CodeIgniter pasar variable a view

bueno lo primero que veo que estas haciendo mal es que el retorno que haces es un resource que es lo que devuelve la funcion mysql_query, ahora segun tengo entendido los datos a las vistas se pasan en formato arreglo, te doy un pequeño ejemplo que tengo de un curso donde me estan enseñando codeigniter
en una de las acciones del controlador tenemos esto
Código PHP:
Ver original
  1. $datos['titulo'] = "aprendiendo codeigniter";
  2. $datos['datos'] = "Los datos de la noticia que queramos pasar";    
  3. $this->load->view('noticias_vista',$datos);
y en la vista lo llamamos de esta manera
Código PHP:
Ver original
  1. <div id="content">
  2. <h1><?php echo $titulo;?></h1>
  3. <div class="noticia">
  4. <?php echo $datos?>
  5. </div>
si te fijas el framework hace que las llaves de tu arreglo se conviertan en variables de tal manera que podamos acceder a ellas faculmente, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 21/04/2011, 20:33
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 20 años, 8 meses
Puntos: 3
Respuesta: CodeIgniter pasar variable a view

Si, asi como me mostras tambien lo hice y me funciona, pero no con esta nueva variable, ahora la pase asi:

Código PHP:
$ultimos_usuarios $this->Ultimos_model->ultimos_usuarios();
$dame_ultimos_usuarios['usuarios_ultimos'] = $ultimos_usuarios
Y me dice el mismo error...
  #4 (permalink)  
Antiguo 21/04/2011, 20:34
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: CodeIgniter pasar variable a view

Cita:
$this->load->view('principal', $$ultimos_usuarios);
Te sobra un $. Si quieres pasar el valor como referencia, deberia ser con &, aunque realmente no le veo mucha utilidad, pero depende de lo que estas haciendo.

Cita:
$this->load->view('principal', &$ultimos_usuarios);
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 21/04/2011, 20:35
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 20 años, 8 meses
Puntos: 3
Respuesta: CodeIgniter pasar variable a view

Cita:
Iniciado por Triby Ver Mensaje
Te sobra un $. Si quieres pasar el valor como referencia, deberia ser con &, aunque realmente no le veo mucha utilidad, pero depende de lo que estas haciendo.
Disculpa eso era un error de tipeo en el foro...
  #6 (permalink)  
Antiguo 21/04/2011, 21:05
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: CodeIgniter pasar variable a view

interesante publica un poco de codigo para ver en que te podemos ayudar, aunque si es como lo colocas, cuando haces esto
Código PHP:
Ver original
  1. $this->load->view('principal', $ultimos_usuarios);
deberias de pasar es el arreglo
Código PHP:
Ver original
  1. $this->load->view('principal', $dame_ultimos_usuarios);
de tal manera que la vista sepa cual es la variable o indice que le estas pasando, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #7 (permalink)  
Antiguo 21/04/2011, 21:21
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 18 años, 5 meses
Puntos: 890
Respuesta: CodeIgniter pasar variable a view

Código PHP:
Ver original
  1. function ultimos_usuarios() {
  2.               $this->load->model('Ultimos_model');
  3.               $arrayUltimosusuarios = $this->Ultimos_model->ultimos_usuarios;
  4.               $contar = "miquery";
  5.           $contarok = mysql_query($contar);
  6.           $total_records = mysql_num_rows($contarok);
  7.           $n_usuarios = mysql_num_rows(mysql_query("miquery"));
  8.           $last_user_sql = mysql_query("miquery");
  9.               return $last_user_sql;
  10.         }

Si ese es tu model, esta mal, a un metodo no le podes hacer un load de su propia clase...

Tendira que quedar algo asi:

Código PHP:
Ver original
  1. function ultimos_usuarios() {
  2.           $contar = "miquery";
  3.           $contarok = mysql_query($contar);
  4.           $total_records = mysql_num_rows($contarok);
  5.           $n_usuarios = mysql_num_rows(mysql_query("miquery"));
  6.           $last_user_sql = mysql_query("miquery");
  7.               return $last_user_sql;
  8.         }

Aunque aun asi, sigue habiendo redundancia...y no estas aprovechando la clase Active record que te da CI, Por que no pones el codigo completo y lo que quieres retornar. Asi como lo defines no se entiende. De ultima intenta hacer un print y un exit()

Código PHP:
Ver original
  1. function ultimos_usuarios() {
  2.           $contar = "miquery";
  3.           $contarok = mysql_query($contar);
  4.           $total_records = mysql_num_rows($contarok);
  5.           $n_usuarios = mysql_num_rows(mysql_query("miquery"));
  6.           $last_user_sql = mysql_query("miquery");
  7. print_r($last_user_sql);
  8. exit();
  9.                }

Y mira que sale.
__________________
Drupal Argentina

Etiquetas: pasar, php, view, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:12.