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

Un atributo como un matriz?

Estas en el tema de Un atributo como un matriz? en el foro de Frameworks y PHP orientado a objetos en Foros del Web. A ver, trabajando en una clase para, organizar registros de un una tabla en la db, necesito hacer un array con las categorias en donde ...
  #1 (permalink)  
Antiguo 03/04/2010, 15:00
Avatar de Carlmycol  
Fecha de Ingreso: diciembre-2007
Ubicación: Los Teques, Venezuela
Mensajes: 240
Antigüedad: 16 años, 4 meses
Puntos: 3
Un atributo como un matriz?

A ver, trabajando en una clase para, organizar registros de un una tabla en la db, necesito hacer un array con las categorias en donde esta ese registro, pues tengo una tabla de categorias y otra tabla que linkea un categoria con un post..

Bueno, la consulta anda a la perfeccion, mas, cuando intento obtener el atributo que es array no devuelve nada.

tengo algo así
Código PHP:
class post
{
    public 
$Id;
    ....
    public 
$Tags;
    ....
    function 
__construct$inId=NULL, ..., ..., ..., ..., ... )
        if (!empty(
$inId))
        {
            
$query="  ....   ')";
            
$result=mysql_query($query);
            
$i=0;
            
$tags=array();
            while (
$row mysql_fetch_assoc($result))
            {
                
$tags[$i]['title']=...
                
$tags[$i]['name']=...
                
$i++;
            }
            if(
count($tags)>0)
            {
                
$this->Tags=$tags;
            } else {
                
$tags[0]['title']=...
                
$tags[0]['name']=...
                
$this->Tags=$tags;
            }

        }
     }

Si hago print_r($obj_post->Tags) no imprime nada.

Cual puede ser la razon de esto?

Saludos, gracias de antemano
  #2 (permalink)  
Antiguo 03/04/2010, 15:29
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Un atributo como un matriz?

Pues viendo tu constructor puede ser que no estes pasando $inId a tu objeto por lo cual no va a imprimir nada.

Saludos.
  #3 (permalink)  
Antiguo 03/04/2010, 15:47
Avatar de Carlmycol  
Fecha de Ingreso: diciembre-2007
Ubicación: Los Teques, Venezuela
Mensajes: 240
Antigüedad: 16 años, 4 meses
Puntos: 3
Respuesta: Un atributo como un matriz?

Paso las variables de esta forma

Código PHP:
$query="SELECT * FROM posts LIMIT $inicio, ".POST_PER_PAGE;
    
$db->query($query);
    
    
$posts=array();
    
    while (
$row $db->fetch_array())
    {
        
$post = new post;
        
$post->__construct$row['id'], $row['post_title'], $row['post_content'], $row['post_author'], $row['post_date'], $row['comment_count'] );
        
array_push($posts$post);
    } 
Tengo un array de posts, es extraño, puedo obtener los otros atributos como el titulo, el contenido, etc.. pero no puedo obtener los los Tags..

Lo que hago es con un bucle asi
Código PHP:
foreach ($posts as $post)
{
    echo 
$post->Title;

Tendrá algo que ver?

Saludos
  #4 (permalink)  
Antiguo 03/04/2010, 17:54
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Un atributo como un matriz?

El metodo magico __construct esta justamente para ahorrarte una de las lineas que pusiste.. Deberias usarlo asi

Código PHP:
$query="SELECT * FROM posts LIMIT $inicio, ".POST_PER_PAGE
    
$db->query($query); 
     
    
$posts=array(); 
     
    while (
$row $db->fetch_array()) 
    { 
        
$posts[] = new post$row['id'], $row['post_title'], $row['post_content'], $row['post_author'], $row['post_date'], $row['comment_count'] ); 
    } 
Me parece que te estas haciendo demasiado lio... me parece que podrias hacerlo mas sencillo...

Analizalo.

Una cuestion de estetica: los nombre de las clases comenzalos con mayusculas y a los atributos en minusculas.

Un saludo
__________________
HV Studio
Diseño y desarrollo web
  #5 (permalink)  
Antiguo 03/04/2010, 19:56
Avatar de Carlmycol  
Fecha de Ingreso: diciembre-2007
Ubicación: Los Teques, Venezuela
Mensajes: 240
Antigüedad: 16 años, 4 meses
Puntos: 3
Respuesta: Un atributo como un matriz?

Ehh Muchas gracias amigos.!

No me van a creer,.. era una Bobada

Correcto
Código PHP:
echo $obj_post->tags
Como lo tenia
Código PHP:
    echo $obj_posts->tags
PHP no da error cuando intentas acceder a algun metodo u atributo a un objeto que no se ha declarado?

Gracias por el consejo amigo, he cambiado las mayusculas por minusculas se hace menos tedioso a la hora de escribir

Gracias... Saludos!
  #6 (permalink)  
Antiguo 03/04/2010, 20:21
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Un atributo como un matriz?

Cita:
Iniciado por Carlmycol Ver Mensaje
[...] PHP no da error cuando intentas acceder a algun metodo u atributo a un objeto que no se ha declarado? [...]
de hecho si, pero solo si tienes activado el reporte de errores... ;)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: matriz, atributos
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 20:34.