Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Como devuelvo un array?

Estas en el tema de Como devuelvo un array? en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Buenas tardes a todos! Soy nuevo en esto de POO y recien estoy entendiendo la idea, y probando devolver algunas variables. Por ahora, no he ...
  #1 (permalink)  
Antiguo 06/09/2009, 11:22
Avatar de Javier01  
Fecha de Ingreso: febrero-2008
Ubicación: Montevideo
Mensajes: 261
Antigüedad: 16 años, 2 meses
Puntos: 31
Pregunta Como devuelvo un array?

Buenas tardes a todos!

Soy nuevo en esto de POO y recien estoy entendiendo la idea, y probando devolver algunas variables.
Por ahora, no he tenido complicaciones en devolver una variable, sacada de una base de datos,
como para autenticar un login o algo asi.
El problema surge cuando quiero evolver un array de datos. Osea en mi caso exacto, estoy haciendo
un sistema de libreria y necesito que la clase, me devuelva todos los libros, y los datos de cada uno de ellos
la pregunta entonces es la siguiente; ¿Como logro hacer que la clase, me devuelva cada dato como un array de valores?

La forma que crei que deberia ser, pero no me esta funcionando es la siguiente:

Libro.class.php

Código PHP:

class Libro
{
    var 
$p_titulo =array();
    
    
//function carga todos los libros
    
function set_cargartodoslibro()
    {
        
$sql "select * from libro";
        
$con = new Mysql();
        
$con->conecta();
        
$res $con->consulta($sql);
        
$num $con->vector($res); //devuelve los datos de la BD
        
$i=0;
        if(
$num[0]!=null){
            while(
$num[$i]<5)  // 5 libros nada mas
            
{
                
$i=$i+1;
                
$this-> p_titulo =array(i=>$num['libtit']);
                
$this->p_existe=1;
            }
        }
        else
        {
            
$this->p_existe=0;
        }
    }
    
 
    
//Retorna true si el libro existe, caso contrario false
    
function get_existe()
    {
        return 
$this->p_existe;
    }
 
    
 
    
//Retorna el titulo del libro
    
function get_titulo()
    {
        return 
$this->p_titulo;
    }
 
}
?> 

MostrarLibro.php
Código PHP:
<?
include("../clases/Libro.class.php");
$lib = new Libro();
$lib->set_cargartodoslibro();
$existe $lib->get_existe();
$titulo=$lib->get_titulo();
if(
$existe==1){
?>
<center>Hay Libros</center>
<?print $titulo[0];?> 

<? }
else{ 
?>

<center>No se encontraron libros</center>
 
<? ?>
__________________
Tomarse un tiempo para redactar correctamente la pregunta, utilizando los signos de puntuación adecuados, es ganar tiempo y calidad en la respuesta.

Última edición por Javier01; 06/09/2009 a las 12:58
  #2 (permalink)  
Antiguo 07/09/2009, 14:34
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Como devuelvo un array?

Para devolver un array lo haces como si lo hicieras en una función:
Código PHP:
Ver original
  1. public function getLibros() {
  2.       $libros = array();
  3.       while(/** procesos **/) {
  4.             $libros[] = $libro;
  5.       }
  6.  
  7.       // opcionalmente lo guardas
  8.       $this->libros = $libros;
  9.  
  10.       return $libros;
  11. }

Saludos.
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 07:51.