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.