Ver Mensaje Individual
  #3 (permalink)  
Antiguo 02/06/2004, 08:51
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
mysql_fecht_xxx() (sea array, assoc, object .. etc) funciona de la siguiente manera:

1) Se obtiene un registro desde el inicio del resultado de la consulta ("record-set").
2) Se mueve el puntero interno de la consulta a la siguiente posición ..
3) Al llegar al final del "record-set" (de los resultados obtenidos de la consulta realizada) .. devuelve un "boolean": FALSE ..

Por eso .. si "llamas" una sóla vez a esa función .. sólo veras el primer registro (o si ejecutastes antes esa función .. el siguiente).

Solución:
Usa un bucle para recorrer ese "record-set" completo .. Como ya sabes (de la teoría que expliqué y puedes ver en www.php.net ...) que al llegar al final va arrojar un "FALSE" .. puedes usar un bucle tipo while() que es lo que mejor vá para estos casos.

Código PHP:
$resultado=mysql_query("SELECT ......");
if(
mysql_num_rows($resultado) > 0) {
    while(
$row=mysql_fetch_array($resultado)){
       echo 
$row['nombre_campo'];
    }
} else {
     echo 
"No hay resultados";

PD: .. el mysql_num_rows() no es una variable .. sino una función que se le ha de pasar como parámetro ese "record-set" que genera un mysql_query() ...

Un saludo,