Ver Mensaje Individual
  #2 (permalink)  
Antiguo 09/02/2012, 08:51
Avatar de stramin
stramin
 
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 8 meses
Puntos: 336
Respuesta: entender como se muestran los resultados con el bucle while

Ok, te explico, cuando haces mysql_fetch_assoc($comentario), en realidad lo que haces es leer el primer registro (0) y luego mueve el cabezal al registro siguiente.

Por lo tanto si vuelves a ejecutar mysql_fetch_assoc($comentario), leerás la posición 2 y nuevamente moveras el cabezal al registro siguiente, y así consecutivamente hasta llegar a la última posición que te dará un registro nulo.

En este ejemplo se entiende mejor:

Código PHP:
Ver original
  1. $row_comentario = mysql_fetch_assoc($comentario);
  2. //Lee posición 0 y mueve cabezal a 1
  3. while($row_comentario = mysql_fetch_assoc($comentario))
  4. //Lee posición 1 y mueve cabezal a 2, luego lee posición 2 y mueve cabezl a 3 y así hasta que termina

Por esto es que al principio no te mostraba la posición inicial

Al hacer un dowhile ocurre esto:

Código PHP:
Ver original
  1. $row_comentario = mysql_fetch_assoc($comentario);
  2. //Lee posición 0 y mueve cabezal a 1
  3. while($row_comentario = mysql_fetch_assoc($comentario))
  4. // muestras posición 0 aunque esté vacía
  5. //Lee posición 1 y mueve cabezal a 2, luego lee posición 2 y mueve cabezl a 3 y así hasta que termina

Por último la solución a la que llegaste es la más eficaz:

Código PHP:
Ver original
  1. while($row_comentario = mysql_fetch_assoc($comentario))
  2. //Lee posición 0 y mueve cabezal a 1, luego lee posición 1 y mueve cabezl a 2 y así hasta que termina

Espero que se haya entendido
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D