Foros del Web » Programando para Internet » PHP »

Dos consultas a base datos a la vez

Estas en el tema de Dos consultas a base datos a la vez en el foro de PHP en Foros del Web. Intento hacer lo siguiente Código PHP:     $ssql  =  "SELECT * FROM pdte_confirmar WHERE creador = 'pepe'" ;                  $rs  =  mysql_query ( $ssql , $conn );                 while( $row  =  mysql_fetch_array ( $rs ...
  #1 (permalink)  
Antiguo 15/06/2012, 01:13
 
Fecha de Ingreso: mayo-2008
Mensajes: 11
Antigüedad: 15 años, 11 meses
Puntos: 0
Dos consultas a base datos a la vez

Intento hacer lo siguiente

Código PHP:
    $ssql "SELECT * FROM pdte_confirmar WHERE creador = 'pepe'";
                
$rs mysql_query($ssql,$conn);
                while(
$row mysql_fetch_array($rs))
                { 
                    
$ssql2 "SELECT * FROM eventos WHERE id = '$row[1]'";
                    
$rs2 mysql_query($ssql2,$conn);
                    while(
$row2 mysql_fetch_array($rs2))
                    {
                        echo 
$row2[1];
                    }
                } 
Vamos a explicarlo.La primera consulta($ssql) tiene 2 resultados entonces en $ssql2 le pasamos los resultados de la primera consulta, pero solamente me pasa el dato de un resultado no de los 2.Como lo puedo arreglar.

Gracias.
  #2 (permalink)  
Antiguo 15/06/2012, 01:50
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Dos consultas a base datos a la vez

¿Cómo lo puedes arreglar?

A ver, aparca tu carro, no tienes problemas de sintaxis ni nada por el estilo así que un error de código no es.

No hay nada que arreglar, simplemente no estás recibiendo lo valores que esperabas.

¿Como verificar esto?

Vamos, pues. Imprime la consulta $ssql2 y observa, ¿está bien formada?

Ahora debes ejecutarla manualmente en tu gestor de BD tipo phpMyAdmin, ¿ahí te arroja los resultados que esperas?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 15/06/2012, 02:16
 
Fecha de Ingreso: mayo-2008
Mensajes: 11
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Dos consultas a base datos a la vez

Hola, lo que deveria hacer el codigo es que al recibir 2 consultas de la primera consulta($ssql) el segundo while me deverìa hacer un bucle e ir imprimiendo los datos de la segunda consulta.

Es decir de la primera consulta quiero coger el id de esa tabla a la que se la paso a la segunda consulta (en este caso son 2 resultados) y con esos resultados ir mostrando en pantalla en tablas los resultados de la segunda consulta.
  #4 (permalink)  
Antiguo 15/06/2012, 02:24
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Dos consultas a base datos a la vez

Entiendo perfectamente lo que tratas de hacer desde que abriste el tema, ¿o a que estamos jugando?

Por favor, has caso de mis sugerencias, ¿o ya lo hiciste? ¿cuales fueron los resultados?

No lo hago por molestar, lo hago para que efectivamente compruebes si las consultas son las correctas y que de verdad tengas esos datos en tu BD.

Tu código no tiene errores ni de lógica ni de sintaxis, simplemente no da los resultados esperados.

Y eso no es un problema que se solucione pidiendo ayuda, puedes estar seguro de eso.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 15/06/2012, 02:28
 
Fecha de Ingreso: mayo-2008
Mensajes: 11
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Dos consultas a base datos a la vez

Si miralo si quieres tu mismo http://www.teanimas.webuda.com/tabla.php solamente me sale un resultado en pantalla, y deveria de salirme 2 ¿no?
  #6 (permalink)  
Antiguo 15/06/2012, 02:36
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Dos consultas a base datos a la vez

¡Pero si has entendido lo que te da la gana!

¿Puedes volver a leer lo que dije aquí?

Cita:
Iniciado por pateketrueke Ver Mensaje
Vamos, pues. Imprime la consulta $ssql2 y observa, ¿está bien formada?
No estás imprimiendo la consulta:
Código PHP:
$ssql2 "SELECT * FROM eventos WHERE id = '$row[1]'"
echo 
"SQL2: $ssql2"
¿Entiendes mi punto?

Ahora, copia y pega lo que se imprime en el navegador (la consulta), y debes ejecutarla con tu administrador de phpMyAdmin ¿si tienes?

¿Que resultados arroja?

Lo que acabas de mostrar (la URL) no sirve de nada, sólo es el resultado de tu script, que no está mal ¡simplemente no hay resultados!

¿Y yo como voy a saber si deberían salir 2 o 1000 resultados? ¡No conozco tu BD!

Tu código dice "muestra los resultados que tenga la bd", pero si no hay, no hay.

Eso debes comprobarlo tu.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 15/06/2012, 02:58
 
Fecha de Ingreso: mayo-2008
Mensajes: 11
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Dos consultas a base datos a la vez

Con este codigo:
Código PHP:
$ssql "SELECT * FROM pdte_confirmar WHERE creador = 'grimfaces'";
                
$rs mysql_query($ssql,$conn);
                while(
$row mysql_fetch_array($rs))
                { 
                    
$ssql2 "SELECT * FROM eventos WHERE id = '$row[1]'";
                    echo 
"SQL2: $ssql2</br>";
                    
$rs2 mysql_query($ssql2,$conn);
                    while(
$row2 mysql_fetch_array($rs2))
                    {
                        
                        
//echo $row2[1];
                    
}
                } 
Sale lo siguiente:
SQL2: SELECT * FROM eventos WHERE id = '52'
SQL2: SELECT * FROM eventos WHERE id = '51'

Salen como digo 2 resultados ahora quisiera que con 52 se imprima la otra consulta y con 51 lo mismo.
  #8 (permalink)  
Antiguo 15/06/2012, 03:07
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Dos consultas a base datos a la vez

¡Excelente!

Pero sigues sin entender lo que te digo, ¿verdad?

Tu código es 100% el correcto, si tuvieras 1,000,000 de registros en tu tabla de eventos con el mismo id 52 entonces los mostraría... pero, ¿por qué no lo hace?

¡Pues porque no hay tales resultados!

Vamos a comprobarlo y ver si estoy en lo cierto y tu te estás ahogando por nada.
Código PHP:
$ssql2 "SELECT * FROM eventos WHERE id = '$row[1]'";
echo 
"SQL2: $ssql2</br>";
$rs2 mysql_query($ssql2,$conn);
$c mysql_num_rows($rs2);
echo 
"COUNT: $c"
¿Eso que arroja?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 15/06/2012, 03:26
 
Fecha de Ingreso: mayo-2008
Mensajes: 11
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Dos consultas a base datos a la vez

!ALELUYAAAAAAAAAAAAAAA!

Tu ganas tenias toda la razon del mundo.Gracias, ma costado 8 mensajes para darme cuenta que en la base de datos fallaba algo.Muchas gracias de nuevo.

Llevo 2 dias comiedome la cabeza de como hacer esto, pero ya esta solucionado.

Xaooo

Etiquetas: mysql, sql, vez
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 16:46.