Ver Mensaje Individual
  #7 (permalink)  
Antiguo 03/09/2003, 13:20
josemi
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

La razon de que no te muestre el primero es porque lo has leido en el if que usas para ver si ha devuelto resultados:
Código PHP:
// Mostramos los registros
/* Con la instrucción mysql_fetch_array extraemos los datos de la consulta a un
array o tabla */

$result2=mysql_db_query("ims","select * from reporte Where consecutivo = '$codigo' ");

if (
$row=mysql_fetch_array($result2))

¿Lo ves? Ahi lees el primer registro. Y antes de imprimirlo, lees el segundo en el while:
Código PHP:
while ($row=mysql_fetch_array($result2)) //...... aqui lo pongo y me saca error, donde es???

con lo que has pisado el valor de $row con el segundo registro.

Para solucionarlo tienes 2 opciones:

1.- Cambiar el if y usar la funcion mysql_num_rows() para saber si ha devuelto registros:
Código PHP:
// Mostramos los registros
/* Con la instrucción mysql_fetch_array extraemos los datos de la consulta a un
array o tabla */

$result2=mysql_db_query("ims","select * from reporte Where consecutivo = '$codigo' ");

if (
0<=mysql_num_rows($result2))

2.- O cambias el while por un do...while. El do...while el semejante al while, se diferencian en que el do...while evalua la condicion al final de la iteracion:
Código PHP:
do {

// aqui tus echos o como lo hagas

} while ($row=mysql_fetch_array($result2)); 
Elige una de las 2 soluciones, con la que te quede mas claro.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.