Foros del Web » Programando para Internet » PHP »

problema con bucle do while

Estas en el tema de problema con bucle do while en el foro de PHP en Foros del Web. Hola tengo un pequeño problema que me gustaría me pudieran ayudar a resolverlo. La situación es la siguiente, extraigo registros de mi base de datos ...
  #1 (permalink)  
Antiguo 13/09/2011, 10:57
 
Fecha de Ingreso: julio-2011
Mensajes: 39
Antigüedad: 12 años, 9 meses
Puntos: 0
problema con bucle do while

Hola tengo un pequeño problema que me gustaría me pudieran ayudar a resolverlo.
La situación es la siguiente, extraigo registros de mi base de datos y los muestro en una tabla con un bucle do while

de esta forma:
Código PHP:
do {
echo "<tr class=\"row$r\">";
echo "<td align=\"center\">".$datos['insumos']."</td>";
echo "<td align=\"center\"><select name='presentacion[]'>
                           <option value=\"$datos[presentacion]\">".$datos['presentacion']."
                           <option>Paquete(s)</option>
                           <option>Unidad(es)</option>
                           <option>Litro(s)</option>
                           <option>Caja(s)</option>
                           <option>Rollo(s)</option></select>";
                           
echo "<td align=\"center\"><select name=\"proveedor[]\">";
     do{ ?><option value="<?php echo $row_dinamico['nombre']; ?>" ><?php echo $row_dinamico['nombre']; ?></option> <?php 
     while (
$row_dinamico mysql_fetch_assoc($dinamico));
    
echo 
"</select></td>";
echo 
"<td align=\"center\">".$datos['cantidad']."</td>";
echo 
"<td align=\"center\">".$datos['precio_unitario']."</td>";
echo 
"<td align=\"center\">".$datos['total_precio_unitario']."</td>";
echo 
"</tr>";
if(
$r%2==0)++$r;else--$r;
}
while(
$datos mysql_fetch_assoc($query));
me funciona bien y todo, pero el problema radica en el do while anidado que esta en la tabla
Código PHP:
echo "<td align=\"center\"><select name=\"proveedor[]\">";
     do{ ?><option value="<?php echo $row_dinamico['nombre']; ?>" ><?php echo $row_dinamico['nombre']; ?></option> <?php 
     while (
$row_dinamico mysql_fetch_assoc($dinamico));
que es la extrae los proveedores de mi base de datos para mostrarlos como opciones, me muestra solo en la primera fila las opciones bien, y en las siguientes me salen las opciones vacias, prové poniendo solo while, pero pasa lo mismo y peor no me muestra el primer registro.

Saludos a todos los que pasen por acá.
  #2 (permalink)  
Antiguo 13/09/2011, 10:59
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problema con bucle do while

¿Si sabes lo que hace un do-while verdad?

Dicha instrucción ejecuta primero el bloque, y luego realiza la comparación del while().

Así pues, la primer vez es obvio que no vas a tener nada en la variable $row_dinamico, pues solo se define al llegar la comparación.

¿Por qué no intentas usar un while() normal?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 13/09/2011, 11:05
 
Fecha de Ingreso: julio-2011
Mensajes: 39
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: problema con bucle do while

Bueno amigo gracias por la respuesta y si, si sé lo que hace el do while, y lo uso por que para lo que quiero me funciona, el problema es que como digo el primer do while me imprime todos los registros que necesito, pero el segundo do while que en este caso saca los proveedores, en la primera fila funciona y en las que vienen hacia abajo no muestra nada. Al usar el while pasa lo mismo y se come el primer registro de la opción.Ese es el problema
  #4 (permalink)  
Antiguo 13/09/2011, 11:15
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problema con bucle do while

Entonces supongo que también sabrás que los punteros de SQL una vez recorridos no se reinician solos, ¿verdad?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 13/09/2011, 11:17
 
Fecha de Ingreso: septiembre-2011
Ubicación: Argentina - Buenos Aires
Mensajes: 2
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: problema con bucle do while

No esta de mas "do{ ?><option value=" si en esa instancia cerras el codigo php la verdad que no entiendo como te muestra algo.

Quizas fue un error al escribir el post.

Saludos,
  #6 (permalink)  
Antiguo 13/09/2011, 11:30
 
Fecha de Ingreso: julio-2011
Mensajes: 39
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: problema con bucle do while

disculpen por hacer gastar su tiempo, lo solucione como dice patekeasfasdf, moviendo el puntero con mysql_data_seek($dinamico,0);, GRACIAS!

Etiquetas: bucle, mysql, registro, tabla
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 12:37.