Foros del Web » Programando para Internet » PHP »

Ayuda con While y Variables

Estas en el tema de Ayuda con While y Variables en el foro de PHP en Foros del Web. Buenas tardes, haber si me pueden dar una mano que estoy trabado.. lo que quisiera hacer seria algo asi: tengo una consulta con y la ...
  #1 (permalink)  
Antiguo 15/01/2008, 09:01
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Ayuda con While y Variables

Buenas tardes,
haber si me pueden dar una mano que estoy trabado..
lo que quisiera hacer seria algo asi:
tengo una consulta con y la meto en un array, suponiendo que tengo 3 registros en la BD, si pongo asi:
Código PHP:
while( $ok mysql_fetch_array($sql) ){
echo 
$ok[0];

me lista los tres registros y hasta aca todo bien..

erpo lo que quisiera hacer, y no me salio, es meter cada uno de los tres registros que arroja en una variable, probe asi y no va:
Código PHP:
while( $ok mysql_fetch_array($sql) ){
$ok1 $ok[0];
$ok2 $ok[1];
$ok3 $ok[2];
// y asi sucesivamente, pero no logro que tomen lasvariables cada valor

Como podria hacerlo??

muchas gracias!
MC
__________________
Recuerda usar el highlight para mostrar código
mauricioblint.com
  #2 (permalink)  
Antiguo 15/01/2008, 09:25
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 8 meses
Puntos: 56
Re: Ayuda con While y Variables

Holas McBlink
Pareciera que tienes una confusión con los conceptos: registros y campos...

Dentro de $ok lo que estás guardando es un registro, esto es, una fila compuesta de todos los campos que tú preguntaste en tu consulta sql. O sea, $ok es un array().

Si nos dices que has recibido 3 registros, entonces son 3 arrays(). En el primer ejemplo que diste, lo que estás mostrando es sólo el primer campo de cada registro.
En el segundo ejemplo, estás pisando por cada iiteración las variables $ok1, $ok2 y $ok3 con los valores de los respectivos campos del último registro leído.

Si quieres guardar en variables separadas cada uno de los registros, usa arreglos. Algo así:

Código PHP:
while( $ok mysql_fetch_array($sql) )
{
 
$ok_guardado[$i] = $ok[0];  
  
$i++;

Luego tendrás en el el array $ok_guardado el primer campo recibido de cada registro de la consulta.

Si tu consulta tiene más de un campo, entonces deberás guardarlo en un array() bidimensional.
Código PHP:
while( $ok mysql_fetch_array($sql) )
{
 
$ok_guardado[$i][0] = $ok[0];  
 
$ok_guardado[$i][1] = $ok[1];  
 
$ok_guardado[$i][2] = $ok[2];  
  
$i++;

__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #3 (permalink)  
Antiguo 15/01/2008, 09:32
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Ayuda con While y Variables

No veo la funcionalidad pero para hacerlo, ya que es mas eficiente usar un arreglo:
Código PHP:
$i 0;
while( 
$ok mysql_fetch_array($sql) ){ 
     
$i++;
     
$var "ok$i";
     $
$var $ok[0];

Así ya tendrás $ok1, $ok2, $okn.

Saludos.
  #4 (permalink)  
Antiguo 15/01/2008, 10:11
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Re: Ayuda con While y Variables

Muchas gracias a los dos!
Tome el ejemplo de GatorV, y me funciono bien ;)
muchas gracias,
ahora nose poeque me pasa esto:

si tengo asi:

Código PHP:
$i 0;
while( 
$ok mysql_fetch_array($sql) ){ 
     
$i++;
     
$var "ok$i";
     $
$var $ok[0];
}  
while( 
$ok2 mysql_fetch_array($sql2) ){ 
     
$i++;
     
$var2 "ok2$i";
     $
$var2 $ok2[0];

Osea, dos Whiles con distintas consulta,
porque el primer While anda bien, pero ya el segundo no me toma los datos,
los dos andan bien, pero el que pongo arriba, es el que anda..

porque pasa esto??

Miles de Gracias!

PD: Ahi va el Karma
__________________
Recuerda usar el highlight para mostrar código
mauricioblint.com
  #5 (permalink)  
Antiguo 15/01/2008, 13:45
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Ayuda con While y Variables

Haz verificado que el segundo while te obtenga la información? Esto lo puedes usar con mysql_num_rows, o haciendo var_dump a $ok2.

Saludos.
  #6 (permalink)  
Antiguo 15/01/2008, 16:20
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 8 meses
Puntos: 56
Re: Ayuda con While y Variables

En el primer ciclo while has creado la variable variable $ok2... Y luego la tomas para guardar el contenido del segundo while :S
Trata de no usar los mismos nombres de variables para una y otra cosa... Por ejemplo, para recorrer el while, ponle $ok, pero para guardar ponle $listo, etc ^^
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
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 01:58.