Foros del Web » Programando para Internet » PHP »

No consigo devolver datos correctamente de una base de datos

Estas en el tema de No consigo devolver datos correctamente de una base de datos en el foro de PHP en Foros del Web. Buenas tardes!, tengo una base de datos con autores, discos y canciones. Tiene una tabla con discos, y otra con las canciones de esos discos. ...
  #1 (permalink)  
Antiguo 03/10/2008, 09:26
 
Fecha de Ingreso: agosto-2008
Mensajes: 166
Antigüedad: 15 años, 8 meses
Puntos: 1
No consigo devolver datos correctamente de una base de datos

Buenas tardes!, tengo una base de datos con autores, discos y canciones.
Tiene una tabla con discos, y otra con las canciones de esos discos. Pues bien, cuando hago una consulta, quiero que salga primero el autor y el nombre del disco, y luego todas las canciones, para lo que he hecho esto:


if(mysql_num_rows($querydb) > 0){
$row = mysql_fetch_array($querydb);
echo stripslashes($row['autor'])."-";
echo stripslashes($row['nomdisco'])."<br>";

while($row = mysql_fetch_array($querydb)){
echo stripslashes($row['titcancion'])."<br>";
}
}

Y no sé por qué, me devuelve el autor y el nombre del disco correctamente, pero cuando llega al bucle while para devolver las canciones, devuelve a partir de la segunda O_o Alguien me puede echar una mano plis??
Por si os sirve de algo, la consulta la hace así (el campo $nomdisco, lo obtiene de los datos incorporados desde un formulario:

$querydb = mysql_query("select * from dbdiscos INNER JOIN dbcanciones ON dbdiscos.iddisco=dbcanciones.iddisco where nomdisco like '%".$nomdisco."%'") or die("Error en query:".mysql_error() );


Gracias por anticipado y un saludo!
  #2 (permalink)  
Antiguo 03/10/2008, 09:34
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: No consigo devolver datos correctamente de una base de datos

Esta funcion te puede ayudar:
http://www.php.net/manual/es/functio...-data-seek.php

mysql_data_seek($resultado, $numerodefila)
En tu caso el numero de fila seria 0.
  #3 (permalink)  
Antiguo 03/10/2008, 09:46
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años
Puntos: 50
Respuesta: No consigo devolver datos correctamente de una base de datos

Para que le funcione asi como lo esta haciendo tiene que hacer dos consultas.
  • Carga el artista y el album
  • Los muestra en pantalla
  • Carga las canciones cuyo album sea el actual
  • En un while las muestra
  #4 (permalink)  
Antiguo 08/10/2008, 15:20
 
Fecha de Ingreso: agosto-2008
Mensajes: 166
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: No consigo devolver datos correctamente de una base de datos

Hola! Muchas gracias, después de haberlo probado, con la función que Ronruby me propuso me está funcionando bien, salvo una cosa... jejeje.

Aprovecho y comento. He conseguido ya que saque todos los datos que quería en la consulta con esa función, pero no en el orden que yo quería. En la base de datos de las canciones, tengo un campo que es "numcancion" que detalla cual es el número de la canción dentro del disco. Pues bien, quería que el resultado de la búsqueda, saliera ordenado por ese campo. Si fuera una consulta más básica sabría como hacerlo... pero siendo una consulta con inner join, no sé como hacer que se devuelva en ese orden...

A ver si alguien puede ayudarme, seguro que es más sencillo de lo que ahora mismo me lo parece jeje.

Gracias y un saludo.
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 11:28.