Foros del Web » Programando para Internet » PHP »

mysql_fetch_array ()

Estas en el tema de mysql_fetch_array () en el foro de PHP en Foros del Web. $result = mysql_query( "SELECT * FROM Cliente" ); $campos = mysql_fetch_array ( $result ); en mi caso el cueri devuelve 2 filas de mi tabla ...
  #1 (permalink)  
Antiguo 05/05/2005, 11:58
 
Fecha de Ingreso: enero-2005
Mensajes: 43
Antigüedad: 19 años, 3 meses
Puntos: 0
mysql_fetch_array ()

$result = mysql_query( "SELECT * FROM Cliente" );
$campos = mysql_fetch_array ( $result );

en mi caso el cueri devuelve 2 filas de mi tabla y con mysql_fetch_array () devuelvo eso a un arregle a la hora de imprimir me imprime sola la primea fila como podria hacer para que me imprimiera las demas o un campo especifico de la segunda fila que esta en el segundo elementos del array
  #2 (permalink)  
Antiguo 05/05/2005, 12:31
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Debes recorrer el "record-set" que te arroja la llamada a mysql_fetch_xxxx() .. Esa funcion (y grupo de funciones _fetch_) se comportan de la siguiente manera:

Obtienen un registro del total que se obtuvieron y avanza el "puntero" (o cursor) de la consulta una posición hacia adelante .. cuando llega al final devuelve la función un "FALSE" .. Por ende .. lo normal es usarlo bajo un while()

Código PHP:
while($campos=mysql_fetch_array($result)){
     echo 
$campos['uno'];
     
// etc .... con el resto

PD: Es recomendable que antes de hacer eso (usar mysql_fetch_xxxx()) compruebes si tu consulta arrojó resultados (+0 registros) usando:
Código PHP:
$total=mysql_num_rows($result);
if (
$total>0){
   while (......){
   }
} else {
   echo 
"No hay resultados";

Un saludo,
  #3 (permalink)  
Antiguo 05/05/2005, 23:33
 
Fecha de Ingreso: febrero-2004
Ubicación: España. Madrid
Mensajes: 454
Antigüedad: 20 años, 1 mes
Puntos: 0
si no hay resultados
$campos=mysql_fetch_array($result)
la variable campos creo que trae un 0 no? (si tiene resultados desconozco pq al imprimirla, para hacer una prueba escribe "array")

lo digo mas que nada pq si es así, te ahorras una "consulta" no?
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 02:03.