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

como pasar parametros al controlador

Estas en el tema de como pasar parametros al controlador en el foro de CodeIgniter en Foros del Web. Hola soy nuevo en esto de codeigniter, y tengo problemas al pasarle los parametros al controlador. echo "precio total=".$total; $consulta = $this->db->get_where('pagos', array('num_contrato' => $num)); ...
  #1 (permalink)  
Antiguo 25/07/2011, 04:12
 
Fecha de Ingreso: junio-2011
Mensajes: 7
Antigüedad: 12 años, 10 meses
Puntos: 0
como pasar parametros al controlador

Hola soy nuevo en esto de codeigniter, y tengo problemas al pasarle los parametros al controlador.

echo "precio total=".$total;


$consulta = $this->db->get_where('pagos', array('num_contrato' => $num));

if($consulta->num_rows>0){
foreach ($consulta->result() as $fila) {
$data[] = $fila;

}


return $data;


tengo una variable con el precio total, y una consulta a la tabla pagos que me devuelve los registros, entonces no se como hacer para que esta funcion me devuelva la consulta y la variable $total.

un saludo y muchas gracias.
  #2 (permalink)  
Antiguo 25/07/2011, 17:57
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: como pasar parametros al controlador

¿Donde tienes ese código? ¿En un modelo o como?
  #3 (permalink)  
Antiguo 25/07/2011, 18:59
 
Fecha de Ingreso: marzo-2010
Mensajes: 71
Antigüedad: 14 años, 1 mes
Puntos: 24
Respuesta: como pasar parametros al controlador

Creo que va dentro de alguna funcion o algo asi

Si es asi podes armar un array con los datos que deseas y devuelves el array:
Código PHP:
Ver original
  1. $result = array(
  2.     'total' => $total,
  3.     'data'  => $data
  4. );
  5.  
  6. return $result;
Despues accederias a los valores segun el key(llave):
Código PHP:
Ver original
  1. $datos = tuFuncion();
  2. var_dump($datos['total']);
  3. var_dump($datos['data']);

Saludos
  #4 (permalink)  
Antiguo 26/07/2011, 02:30
 
Fecha de Ingreso: junio-2011
Mensajes: 7
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: como pasar parametros al controlador

a ver lo explico un poco mejor, mira ese codigo lo tengo en el modelo, y se lo paso al controlador que lo recoge de esta manera y lo envia a una vista

$data['filas'] = $this->datos->datos_pagos_cond($num);

$this->load->view('pagos_view', $data);


Despues en la vista lo muestro asi:

foreach ($filas as $fila){
echo '<tr><td>'.$fila->cantidad.'</td><td>'.$fila->metodo_pago.' </td><td>'.$fila->observaciones.' </td><td>'.$fila->aplicado.' </td><td>'.$fila->registrado.'</td></tr>';
}

Lo que no se es como hacer para meterle la variable esa $total para poder verla en la vista.

muchas gracias
  #5 (permalink)  
Antiguo 26/07/2011, 05:45
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: como pasar parametros al controlador

Pues haces un array multiple.. por ejemplo:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $array = array('results' => $data, 'total' => $total);
  4.  
  5. return $array;
  #6 (permalink)  
Antiguo 27/07/2011, 02:45
 
Fecha de Ingreso: junio-2011
Mensajes: 7
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: como pasar parametros al controlador

Hola gracias por las respuestas, sigo teniendo problemas y ahora no consigo mostrarlo en la vista, en el controlador si me funciona pero en la vista no, a ve si podeis ayudarme a averiguar cual es el problema.

modelo

echo "precio total=".$total;

$control=0;
$consulta = $this->db->get_where('pagos', array('num_contrato' => $num));

if($consulta->num_rows>0){
foreach ($consulta->result() as $fila) {
$data[$control] = array('idPagos'=>$fila->idPagos,'num_contrato'=>$fila->num_contrato,'observaciones'=>$fila->observaciones,'cantidad'=>$fila->cantidad,'metodo_pago'=>$fila->metodo_pago,'aplicado'=>$fila->aplicado,'registrado'=>$fila->registrado,'usuario_registra'=>$fila->usuario_registra,'total'=>$total);
$control++;
}


return $data;
}


controlador

$this->load->model('datos');
$data = $this->datos->datos_pagos_cond($num);

$this->load->view('pagos_view', $data);


vista

if (isset($data)){
for ($i=0;$i<sizeof($data);$i++) {
echo "<br><br>cantidad".$data[$i]['cantidad'];
echo "precio total".$data[$i]['total'];
}

}


si lo que tengo en la vista lo pongo en el controlador funciona correctamente, pero en la vista no

muchas gracias
  #7 (permalink)  
Antiguo 27/07/2011, 02:59
 
Fecha de Ingreso: junio-2011
Mensajes: 7
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: como pasar parametros al controlador

Hola gracias por las respuestas, sigo teniendo problemas y ahora no consigo mostrarlo en la vista, en el controlador si me funciona pero en la vista no, a ve si podeis ayudarme a averiguar cual es el problema.

modelo

echo "precio total=".$total;

$control=0;
$consulta = $this->db->get_where('pagos', array('num_contrato' => $num));

if($consulta->num_rows>0){
foreach ($consulta->result() as $fila) {
$data[$control] = array('idPagos'=>$fila->idPagos,'num_contrato'=>$fila->num_contrato,'observaciones'=>$fila->observaciones,'cantidad'=>$fila->cantidad,'metodo_pago'=>$fila->metodo_pago,'aplicado'=>$fila->aplicado,'registrado'=>$fila->registrado,'usuario_registra'=>$fila->usuario_registra,'total'=>$total);
$control++;
}


return $data;
}


controlador

$this->load->model('datos');
$data = $this->datos->datos_pagos_cond($num);

$this->load->view('pagos_view', $data);


vista

if (isset($data)){
for ($i=0;$i<sizeof($data);$i++) {
echo "<br><br>cantidad".$data[$i]['cantidad'];
echo "precio total".$data[$i]['total'];
}

}


si lo que tengo en la vista lo pongo en el controlador funciona correctamente, pero en la vista no

muchas gracias
  #8 (permalink)  
Antiguo 27/07/2011, 04:21
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: como pasar parametros al controlador

Hola buenas,

Seguramente el error esta en que en las vistas no colocas las variables correctamente.. recuerda que:

Controlador:

Código PHP:
Ver original
  1. $total = 10;
  2.  
  3. $data_view = array(
  4. 'test' => $total
  5. );
  6.  
  7. $this->load->view('vista', $data_view);

Vista

Código PHP:
Ver original
  1. echo $test;

Etiquetas: frameworks-y-php-orientado-a-objetos
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 18:01.