Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/03/2011, 22:08
Avatar de malavera
malavera
 
Fecha de Ingreso: mayo-2009
Ubicación: Bogota - Colombia
Mensajes: 7
Antigüedad: 15 años, 10 meses
Puntos: 0
Error al consultar desde php

Buenas noches

Tengo el problema que cuando llamo el resultado de 2 consultas de una clase me genera un error:

Esta es la clase

clase a donde hago las consultas y la extiendo a b para llamar otras funciones como conectar a la base de datos

Listar es una funcion que me devuelve un array asociativo de la consulta.

Código PHP:
Ver original
  1. class a extends b{
  2.  
  3.     function geta(){
  4.  
  5.     $query = "SELECT *  FROM a";
  6.     $this->typeDoc = $this->Listar($query);
  7.     return $this->typeDoc;
  8.  
  9.     }
  10.  
  11.     function getb(){
  12.  
  13.     $query = "SELECT * FROM b";
  14.  
  15.     $this->ocupation = $this->Listar($query);
  16.  
  17.     return $this->ocupation;
  18.  
  19.     }
  20.  
  21. }

Esta es la clase

ahora la llamo de este modo
Código PHP:
Ver original
  1. $a = new a();
  2.  
  3.     $listadea = $a->geta();
  4.  
  5.     $listadeb = $a->getb();

Cuando los empiezo a imprimr la variable $listadea que es el resultado de la tabla a la cual tiene 9 registros me los muestra bien.

Lo quiere mostrar en un select de la siguiente manera

Código HTML:
Ver original
  1. <?php $n = count($listadea);
  2. for ($i=0; $i < $n; $i++){ ?>
  3. <option value="">[B]<?php echo $typeDoc[$i]['DESCRIPCION']; ?>[/B]</option>
  4. <?php } ?>
Me muestra los 9 perfectos

Y cuando quiere mostrar la variable b que es el resultado de la consulta de la tabla b la cual contiene 6 registros tambien me muestra los registros. en un select

Pero despues de este me salen 3 opciones mas con error, como en la consulta anterior salen 9 sabiendo que son 6.

Código HTML:
Ver original
  1. <?php $m = count($listadeb);
  2. for ($i=0; $i < $m; $i++){ ?>
  3. <option value=""> [B]<?php echo $typeDoc[$i]['DESCRIPCION']; ?>[/B]</option>
  4. <?php } ?>
Pero cuando llamo de esta manera todo me va de pelo:

Código PHP:
Ver original
  1. $a = new a();
  2.  
  3.     $listadea = $a->geta();
  4.  
  5.     $a2 = new a();
  6.  
  7.     $listadeb = $a2->getb();
Pero no veo la necesidad de instanciar dos veces la misma clase.

Espero me ayuden y pues si creen que no me esplique bien espero su comentario. de que necesitan saber para ayudarme.

Saludos