Foros del Web » Programando para Internet » PHP »

no se que tengo mal en el siguiente bucle

Estas en el tema de no se que tengo mal en el siguiente bucle en el foro de PHP en Foros del Web. no sé que estoy haciendo mal tengo un bucle que me muestra el contenido de una base de datos correctamente. el bucle es asi: while($row ...
  #1 (permalink)  
Antiguo 30/12/2007, 11:26
 
Fecha de Ingreso: septiembre-2003
Mensajes: 341
Antigüedad: 21 años, 2 meses
Puntos: 0
no se que tengo mal en el siguiente bucle

no sé que estoy haciendo mal

tengo un bucle que me muestra el contenido de una base de datos correctamente.

el bucle es asi:
while($row = mysql_fetch_array($resultado)) {
// codigo para mostrar campos
echo($row["nombre"]."<br>");

}

pues bien, lo que quiero es que solo me muestre hasta el registro num . 50
para ello he añadido lo siguiente :
$contalimit = 0;
while($row = mysql_fetch_array($resultado) && $contalimit<=50) {
// codigo para mostrar campos
echo($row["nombre"]."<br>");
$contalimit = $contalimit+1;

}

Y ahora no me muestra el contenido del campo $row["nombre"]. Me aparacere en blanco. Que esta mal?

Muchas gracias por vuestra ayuda...
__________________
---Nuestra recompensa se encuentra en el esfuerzo y no en el resultado. Un esfuerzo total es una victoria completa.-- GHANDI
  #2 (permalink)  
Antiguo 30/12/2007, 11:33
 
Fecha de Ingreso: mayo-2006
Mensajes: 288
Antigüedad: 18 años, 5 meses
Puntos: 4
Re: no se que tengo mal en el siguiente bucle

Umm en tu consulta SQL puedes poner esto :

$SQL="SELECT nombre FROM bd_data LIMIT 0,50";
#Esto se encargara que solo se cargen 50 registros a la consulta sin necesidad de tocar el Bucle While.
$resultado = mysql_query($SQL) ;
while($row = mysql_fetch_array($resultado)) {
// codigo para mostrar campos
echo($row["nombre"]."<br>");

}
  #3 (permalink)  
Antiguo 30/12/2007, 11:35
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 22 años
Puntos: 17
Re: no se que tengo mal en el siguiente bucle

Puedes probar con un for:

Código PHP:

for ($i=1$i<=50$i++) {
     
$row mysql_fetch_array($resultado)
     echo(
$row["nombre"]."<br>");

Y si la consulta es sólo para eso la puedes limitar a 50 registros, que sería lo más correcto. Usando LIMIT 0,50 en la consulta y haciendo el while normal.
  #4 (permalink)  
Antiguo 30/12/2007, 12:32
 
Fecha de Ingreso: septiembre-2003
Mensajes: 341
Antigüedad: 21 años, 2 meses
Puntos: 0
Re: no se que tengo mal en el siguiente bucle

okk gracias..

la solución con el for no la tengo clara, porque igual si tengo menos de 50 registros me puede dar error con el for no?
__________________
---Nuestra recompensa se encuentra en el esfuerzo y no en el resultado. Un esfuerzo total es una victoria completa.-- GHANDI
  #5 (permalink)  
Antiguo 30/12/2007, 12:41
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 22 años
Puntos: 16
Re: no se que tengo mal en el siguiente bucle

prueba con esto (no se si funcione porque no tengo como probarlo ahora pero quiza lo haga):

Código:
$contalimit = 0;
while(($row = mysql_fetch_array($resultado)) && ($contalimit<=50))  {
     // codigo para mostrar campos
     echo($row["nombre"]."<br>");
     $contalimit = $contalimit+1;
 
}
que puede ser que este dando problemas por la falta de () pues haces una asignacion por ahi y despues una comparacion, prueba con los parentesis que le agrege y ve si te funciona

Saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
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 22:30.