Foros del Web » Programando para Internet » PHP »

problemas con bucle y mysql

Estas en el tema de problemas con bucle y mysql en el foro de PHP en Foros del Web. resulta que tengo una sentencia como : $sent= mysql_query("select * from tabla where flag='1' order by id desc 0,4"); $muestra=mysql_fetch_array($sent); y uso un bucle while($muestra=mysql_fetch_array($sent)); ...
  #1 (permalink)  
Antiguo 26/04/2004, 09:21
Avatar de cadrogui  
Fecha de Ingreso: junio-2003
Mensajes: 875
Antigüedad: 20 años, 10 meses
Puntos: 5
problemas con bucle y mysql

resulta que tengo una sentencia como :

$sent= mysql_query("select * from tabla where flag='1' order by id desc 0,4");
$muestra=mysql_fetch_array($sent);

y uso un bucle

while($muestra=mysql_fetch_array($sent));
{

bla bla

}

y si tengo por ejemplo 5 registros en la bd solo me muestra los 4 primeros, y si ingreso u sexto registro me muestra el quinto pero no el sexto que tengo mal?

salu2
__________________
La mejor manera de aprender es por medio de un aprendizaje significativo....

http://www.cocert.cl
  #2 (permalink)  
Antiguo 26/04/2004, 09:25
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 9 meses
Puntos: 16
Hola,

Justo debajo del mysql_query() lees el primer registro, lo almacenas en $muestra, pero no lo muestras. Luego lees el segundo al empezar el bucle. Quita ese mysql_fetch_array() de antes del while.

Cada vez que llamas a mysql_fetch_array() lees un registro y mueves el puntero al siguiente.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 26/04/2004, 09:31
Avatar de cadrogui  
Fecha de Ingreso: junio-2003
Mensajes: 875
Antigüedad: 20 años, 10 meses
Puntos: 5
lo muestro con el array
$muestra[contenido];

asi lo hago sorry

salu2
__________________
La mejor manera de aprender es por medio de un aprendizaje significativo....

http://www.cocert.cl
  #4 (permalink)  
Antiguo 26/04/2004, 09:51
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Quita el mysql_fetch_array() que tienes antes de tu bucle while() donde usas otro mysql_fetch_array() .. Como te comentó josemi cada llamada a dicha función (en realidad a cualquiera del tipo _fetch_) obtiene un "recor-set" (registro de tu consulta realizada) y mueve el puntero interno una posición hacia adelante .. así que tu bucle ademas de motrarte -1 registros del total .. te va a mostrar desde el 2º resultado en adelante.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 26/04/2004, 09:59
Avatar de cadrogui  
Fecha de Ingreso: junio-2003
Mensajes: 875
Antigüedad: 20 años, 10 meses
Puntos: 5
ok ya entendi muchas gracias

salu2
__________________
La mejor manera de aprender es por medio de un aprendizaje significativo....

http://www.cocert.cl
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 06:10.