Foros del Web » Programando para Internet » PHP »

Varias "While" en consulta...

Estas en el tema de Varias "While" en consulta... en el foro de PHP en Foros del Web. Saludos... Intentaré explicar mi problema... Tengo una llamada a una base de datos con su respectiva consulta y su respectiva 'while' para visualizar los datos ...
  #1 (permalink)  
Antiguo 03/02/2009, 17:50
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
Varias "While" en consulta...

Saludos...

Intentaré explicar mi problema...

Tengo una llamada a una base de datos con su respectiva consulta y su respectiva 'while' para visualizar los datos en un listado:

Código PHP:
include_once ('archivo.php');
$conec mysql_connect($uno$usuario$contrasena)...

$consulta1 "....";
$resultado1 mysql_query ($consulta1);

while (
$col1 mysql_fetch_row ($resultado1)) { 
A partir de esta consulta incluyo otro 'while' que viene desde el header del .php por lo que queda más o menos así:


Código PHP:
include_once ('archivo.php');
$conec mysql_connect($uno$usuario$contrasena)...

$consulta1 "....";
$resultado1 mysql_query ($consulta1);

while (
$col1 mysql_fetch_row ($resultado1)) {

while (
$col2 mysql_fetch_row ($resultado2)) {

//Aquí imprimo my listado
print ".....$col2[0]...$col2[1] " //etc... 
Lo anterior funciona bien. Y es aquí donde viene mi problema... Después de ver dónde incluír una tercere consulta con resultados que debería ir incluídos el la impresión del listado, he visto que la debo incluír entre las dos 'while' que tengo, porlo que quedaría más o menos así:

Código PHP:
include_once ('archivo.php');
$conec mysql_connect($uno$usuario$contrasena)...

$consulta1 "....";
$resultado1 mysql_query ($consulta1);

while (
$col1 mysql_fetch_row ($resultado1)) {

$consulta3 "....";
$resultado3 mysql_query ($consulta3);
$resconsulta3 mysql_result($resultado30);

while (
$col2 mysql_fetch_row ($resultado2)) {

//Aquí imprimo my listado
print ".....$col2[0]...$col2[1] " //etc... 
Si imprimo el resultado de $resconsulta3[0] entre los dos 'while', obtengo el valor que necesito y que me costó mucho encontrar. Pero si imprimo el valor después del segundo 'while' obtengo solamente el primero que se encuentra en la consulta. Por decir algo, debería imprimir un listado de números: 2,0,3,1. Si lo imprimo después del segundo 'while' tengo para todos mi listado el primero, es decir '2'.

La pregunta es... Dónde debo incluir esa impresión del resultado de la consulta 3 para que me imprima los valores correctos de cada registro en el listado?

Os juro que he probado de cambiarlo en diferentes partes y lo único que obtengo son errores de MySQL de todos los colores y sabores...

Agradezco vuestra ayuda y consejo!

Andrew P.
__________________
Andrew :P
  #2 (permalink)  
Antiguo 03/02/2009, 18:08
Avatar de kurokishi  
Fecha de Ingreso: enero-2009
Ubicación: Tenochtitlán
Mensajes: 109
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Varias "While" en consulta...

Y si en el query llamas a todos los datos que necesitas y sobre eso con un solo while trabajas??
Tal vez no es lo que buscas pero talvez te ayude:
Código PHP:
while ($col=mysql_fetch_array($resultados))
{
echo 
"
<tr>
<td class='table1'>
<p class='notas1'>"
.$col['dato1']."</p>
</td>
<td class='table1'>
<p class='notas1'>"
.$col['dato2']."</p>
</td>
<td class='table1'>
<p class='notas1'>"
.$col['dato3']."</p>
</td>
<td class='table1'>
<p class='notas1'>"
.$col['dato4']."</p>
</td>
</tr>"
;

Aqui lo que hago es del mismo query sacar los datos e imprimirlos, si existen saca otra fila con los datos (uno por uno) pero los podrias poner para que se alineen uno tras otro.
Espero te ayude de algo
Salu2!
  #3 (permalink)  
Antiguo 04/02/2009, 03:26
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
Respuesta: Varias "While" en consulta...

Gracias kurokishi...

El problema es que cada consulta que realizo viene de una base de datos diferente por lo que debo realizar una conexión diferente para cada una. Ya había pensado en esto antes pero me resultaba realmente difícil extraer los datos de las otras bases de datos sin realizar una conexión por separado.

Alguna idea más?
__________________
Andrew :P
  #4 (permalink)  
Antiguo 04/02/2009, 23:13
Avatar de kurokishi  
Fecha de Ingreso: enero-2009
Ubicación: Tenochtitlán
Mensajes: 109
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Varias "While" en consulta...

Y si haces cada consulta en un script por separado (con sus respectivos while encada script) y despues solo imprimir los resultados desde otro script usando el include???
(la verdad no se si se pueda realizar de la manera que te lo planteo, ya que no soy un experto, pero tal vez te podria funcionar)
salu2
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 15:20.