Ver Mensaje Individual
  #2 (permalink)  
Antiguo 31/05/2008, 15:45
Avatar de jpinedo
jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Respuesta: mysql_fetch_row() --> Como es que funciona???

Todo lo que pusiste es exactamente lo que hace :)

$result es un identificador de un resultado de alguna consulta (resultset).

mysql_fetch_row funciona así:
Si ejecutas $row = mysql_fetch_row($result); lo que haces es leer el primer registro de ese resultset y almacenarlo en la variable $row. Además, el cursor interno se mueve a la siguiente posición.
Por eso, si vuelves a hacer $row=mysql_fetch_row($result), leerá el segundo registro, y sobreescribirá la variable $row. El cursor se mueve a la tercera posición del resultset.
Supongamos que la consulta solamente devolvió dos registros. Entonces si hacemos $row=mysql_fetch_row($result), se tratará de leer un tercer registro que no existe. Así que toda la función devuelve el valor "false".

Lo que va en los paréntesis del bucle while no es necesariamente una comparacíon, sino una condición. De ser verdadera, se ejecuta el código. De ser falsa se pasa directamente a lo que siga.

Para PHP cualquier valor (que no sea false, 0 (cero)) pasa el contro de veracidad XD.

Entonces con el while ($row=mysql_fetch_row($result)), lo que estamos haciendo es almacenar temporalmente el registro en la variable row, utilizarlo y pasar a leer el siguiente registro (sobreescribiendo $row)... y así hasta que se llega al último, mysql_fetch_row() devuelve false y el while ya no se ejecuta.

Espero que se haya entendido,