Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP OO Devolver varios valores

Estas en el tema de Devolver varios valores en el foro de PHP en Foros del Web. Tengo un problema muy sencillo de resolver pero no estoy entendiendo bien como hacer, tengo un método que carga las ultimas noticias: Código PHP: function  ...
  #1 (permalink)  
Antiguo 14/08/2013, 05:46
 
Fecha de Ingreso: febrero-2013
Mensajes: 163
Antigüedad: 11 años, 9 meses
Puntos: 1
Devolver varios valores

Tengo un problema muy sencillo de resolver pero no estoy entendiendo bien como hacer, tengo un método que carga las ultimas noticias:

Código PHP:
function noticias()
{
    
$query $this->consulta("SELECT id_noticia, titulo, descripcion FROM noticias ORDER BY id_noticia DESC LIMIT 10'");
    if( 
$this->contar_registros($query) > )
    {    
        while ( 
$array $this->fetch_assoc($query) )
        
$noticias[] = $array;
        return 
$noticias;
    }        
    else
    {
        return 
'';
    }

Esto devuelve un array con el while. Como tengo que hacer para que además de devolver el while, devuelva también el numero de registros? mysqli_num_rows es el método contar_registros, como tengo que hacer para enviar ese resultado?
Se que tengo que hacer algo asi $total = $this->contar_registros($query); pero como devuelvo $total?

Entiendo la logica básica de POO, entiendo que se tiene que devolver algo y que no se puede devolver más de un valor, pero que por ejemplo puedo poner varios valores en el array $noticias, pero en este caso no estoy consiguiendo poner el valor $total.
  #2 (permalink)  
Antiguo 14/08/2013, 06:12
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Devolver varios valores

Tu planteamiento es incorrecto, supongo que hiciste alguna edición a tu código para pegarlo aquí. Debe ser más o menos así:

Código PHP:
Ver original
  1. function getNoticias() {
  2.       // Inicializas $noticias
  3.       $noticias = array();
  4.       $query = $this->consulta('aquí tu consulta');
  5.       while($array = $this->fetch_assoc($query)) {
  6.             $noticias[] = $array;
  7.       }
  8.       return $noticias;
  9. }

De esta forma siempre devuelves un array y basta con count($variable) para saber cuantos registros obtuviste.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: devolver, mysql, registro, select
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 21:38.