Comunidad de diseño web y desarrollo en internet online

buscar varias filas con un solo query

Citar            
MensajeEscrito el 09 Ene 2009 02:03 am
eu
otra dudita :D
no se si el titulo está bien pero es lo que se me ocurrió asi jaj
em
bueno ya ahora teniendo mi sistema de usuarios listo ( tuve problemas con una idiotez pero ya es pasado xD)
necesito mostrarle a cada usuario que se registre, en su respectivo panel de control las facturas pendientes que tiene
entonces lo que hice hasta ahora fue crear otra tabla en la que hay campos ( monto a pagar fecha de vencimiento , etc)
.
uno de los campos es usuario...que sera el mismo que tiene la factura pendiente
el problema es que si el usuario tiene varias facturas pendientes seran varias filas las que se relacionan con ese usuario..
mi pregunta es
como hago para que en un solo query buscar todas las filas en las que el campo 'usuario' sea igual al usuario que esta registrado en ese momento?
yo necesito todos los campos de cada fila(que seria cada factura)
como hago para que esten separados y ordenados en el array? XP
espero hayan entendido
si alguien tiene un metodo mejor para ahcer una cosa asi me dice :D
beso( a no..beso no porque sino despues me patean :roll: )



eric

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 09 Ene 2009 12:43 pm
La consulta sería algo así:

Código PHP :

//Anteriormente debes haber hecho algo como esto
$usuario = $_SESSION['usuario'];

$sql = "SELECT * FROM tabla_facturas WHERE usuario = '$usuario'";
O puedes utilizar dircetamente $_SESSION['usuario'], en fin, decisión tuya...

Luego mediante el uso de mysql_fetch_array() obtienes las tuplas que devuelve la consulta en un array y haces lo que quieras con ellas...

Saludos...

Por KB-27

Claber

301 de clabLevel



 

My very secret HQ

msie7
Citar            
MensajeEscrito el 09 Ene 2009 01:57 pm
habia respondido algo pero desues hice unas pruebas y mejor pregunto directo esto
hice lo que me acabas de decir, aunque ya lo tenia hecho

Código PHP :

$sql = "SELECT * FROM facturas WHERE usuario = '$usuario'";
$res = mysql_query($sql) or die( mysql_error() );
$facturas = mysql_fetch_array( $res );

ahoar supuestamente esta en un array
pero siendo cada fila una factura, y si hay mas de una factura por usuario
me toma solo la primer fila me parece porque puse esto

Código PHP :

$_SESSION['facturas'] = $facturas['monto_factura'];
echo $_SESSION['facturas'];

siendo monto_factura un campo ...y me devolvio 80$
eso es lo que habia en una de las 3 filas que puse para el usuario en cuestion
por lo tanto me toma solo la primer fila que ve y las otras las deja?

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

msie
Citar            
MensajeEscrito el 09 Ene 2009 02:23 pm

ironeric23 escribió:

tuve problemas con una idiotez pero ya es pasado xD

err... idiotez no fue, la pregunta estaba bien planteada, Créeme he visto mucha idiotez y esa no era XD

¿tu problema esta en la consulta o en como mostrar la consulta?

revisa si la consulta te da los resultados correctos si te los da despreocupate de la consulta y ocupate en el codigo (y viceversa)

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 09 Ene 2009 02:24 pm
por cierto esto te puede ayudar:

http://www.cristalab.com/tips/mostrar-un-array-de-una-base-de-datos-mysql-con-php-c42674l/

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 09 Ene 2009 02:30 pm
Vamos ironeric lee e interpreta un poco, el siguiente código es un copy/paste de un ejemplo en la pag que te dije anteriormente:

Código PHP :

<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
    die("Could not connect: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

//Este ciclo es el que te hace recorrer todas las tuplas
//En cada vuelta $row queda con los valores de la tupla actual
while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
    printf ("ID: %s  Name: %s", $row[0], $row["name"]);
}

mysql_free_result($result);
?>
Debes utilizar un while como ese, y dentro de él es que vas a hacer lo que necesites con los datos de cada tupla... Solo por si acaso, en cada vuelta del while $row va a tomar todos los campos de una tupla devuelta por la consulta, ejemplo: supongamos que tus 3 suplas son:

nro_factura | monto | fecha
0001 | 1500 | 21/12/2008
0002 | 5000 | 26/12/2008
0003 | 3500 | 30/12/2008

Veamos los valores que tendra $row en cada vuelta:

Primera vuelta
$row['nro_factura'] --> 0001
$row['monto'] --> 1500
$row['fecha'] --> 21/12/2008

Segunda vuelta
$row['nro_factura'] --> 0002
$row['monto'] --> 5000
$row['fecha'] --> 26/12/2008

Tercera vuelta
$row['nro_factura'] --> 0003
$row['monto'] --> 3500
$row['fecha'] --> 30/12/2008

Espero haberme explicado bien, Saludos....

Por KB-27

Claber

301 de clabLevel



 

My very secret HQ

firefox
Citar            
MensajeEscrito el 09 Ene 2009 03:52 pm
no habia visto el link

muchaaaas gracias a los dos
de verdad
em
ahora lo adapto y cualquier problema que no pued resolver solo lo posteo
pero desde ya
muchas gracias



eric

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 09 Ene 2009 11:48 pm
listo terminé :D
que bueno aprender asi
si no fuera por clab no sabía todas las cosas que se teniendo 17 :P
gracias otra vez

beso


eric

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 10 Ene 2009 02:09 am

ironeric23 escribió:

beso

:roll:

Por KB-27

Claber

301 de clabLevel



 

My very secret HQ

msie7
Citar            
MensajeEscrito el 10 Ene 2009 12:43 pm
jaja que
alla donde vives se golpean la cabeza each other cuando se saludan?

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 10 Ene 2009 02:46 pm
No, con un buen golpe en el ojo ^^ por eso todos por aqui tenemos los ojos morados :lol:

Por KB-27

Claber

301 de clabLevel



 

My very secret HQ

msie7
Citar            
MensajeEscrito el 10 Ene 2009 03:14 pm

KB-27 escribió:

No, con un buen golpe en el ojo ^^ por eso todos por aqui tenemos los ojos morados :lol:


aca en Chile también reaccionamos así cuando un hombre nos trata de besar apasionadamente XD

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 10 Ene 2009 03:19 pm
a eso se le llama
homophobia xD
jaja

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.