Ver Mensaje Individual
  #7 (permalink)  
Antiguo 18/11/2011, 18:44
lubtufano
 
Fecha de Ingreso: julio-2011
Mensajes: 220
Antigüedad: 12 años, 9 meses
Puntos: 72
Respuesta: Error de logica? Listar cd con canciones

Me parece que el problema es que el método get_canciones($id_disco) guarda el resultado de la consulta SQL en el array $canciones pero sin borrar los datos guardados en la consulta anterior. Esto es, en el bucle for se llama al método get_canciones() del objeto $discografia la primera vez este método guarda los nombres de las canciones del primer disco en $canciones y luego retorna su valor, en el segundo llamado guarda los nombres de las canciones del segundo disco pero sin eliminar los primeros guardados con lo que al retornar $canciones este array ahora contiene las canciones de los dos discos y en el tercer llamado contendra las canciones de los tres discos y asi sucesivamente.
Una forma de solución es poner $this->canciones= false; al principio del método get_canciones() asi siempre se eliminaria el contenido anterior de $canciones y se retornaria solo las canciones del disco actual.
Un saludo.