Foros del Web » Programando para Internet » PHP »

el bucle while no me muestra el primer registro

Estas en el tema de el bucle while no me muestra el primer registro en el foro de PHP en Foros del Web. Hola amigos, tengo el siguiente codigo para mostrar consulta: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original while ( $nfila2 = mysql_fetch_array ( $resultadosp , MYSQL_NUM ) ...
  #1 (permalink)  
Antiguo 27/01/2011, 15:45
 
Fecha de Ingreso: agosto-2008
Mensajes: 606
Antigüedad: 15 años, 8 meses
Puntos: 11
el bucle while no me muestra el primer registro

Hola amigos, tengo el siguiente codigo para mostrar consulta:
Código PHP:
Ver original
  1. while($nfila2=mysql_fetch_array($resultadosp, MYSQL_NUM)){
  2.     echo "<tr>";
  3.     echo "<td>".$nfila2[0]."</td>
  4.     <td>".$nfila2[1]."</td>
  5.     <td>".$nfila2[2]."</td>
  6.     <td>".$nfila2[3]."</td>
  7.     <td>".$nfila2[4]."</td>
  8.     <td>".$nfila2[5]."</td>
  9.     <td>".$nfila2[6]."</td>
  10.     <td>".$nfila2[7]."</td>
  11.     <td>".$nfila2[8]."</td>";
  12.     echo "</tr>";
  13.     }

tengo una consulta, de seleccion en mysql es la siguiente:
Código MySQL:
Ver original
  1. $consulta=("select * from productos ");
  2.  
  3. $resultadosp=mysql_query($consulta,$conexion);


sabeis a que es debido que no me muestre el primer registro?

Cuando hago:
Código PHP:
Ver original
  1. $nfila= mysql_num_rows($resultadosp);
  2. echo $nfila;

me imprime 8 pero en mostrame me muestra 7 es el primero el que parece que ingnora. Que hago mal? gracias.
  #2 (permalink)  
Antiguo 27/01/2011, 16:11
 
Fecha de Ingreso: agosto-2009
Mensajes: 34
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: el bucle while no me muestra el primer registro

porque no pruebas asi y me cuentas:

while($row=mysql_fetch_array($resultadosp)){
echo "<tr>";
echo "<td>".$row['columna']."</td>
echo "</tr>";
}

de alli creo que puedes partir...
  #3 (permalink)  
Antiguo 27/01/2011, 16:51
 
Fecha de Ingreso: agosto-2008
Mensajes: 606
Antigüedad: 15 años, 8 meses
Puntos: 11
Respuesta: el bucle while no me muestra el primer registro

Grtacias he probado y me sigue dando el mismo resultado me falta el primer registro. ¿donde podrá esar el fallo? en mysqlmyadmind, cuando hago la consulta a mano en sql, me da todos los registros incluso en la consola de mysql no se que hacer ya. Tirarme de un primer piso varias veces? jajaja.
  #4 (permalink)  
Antiguo 27/01/2011, 21:02
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 2 meses
Puntos: 128
Respuesta: el bucle while no me muestra el primer registro

Compa prueba de esta forma:

while($nfila2=mysql_fetch_array($resultadosp))
{
echo '<tr>
<td>'".$nfila2['nombre_de_la_variable']."'</td>
</tr>';
}

recomendacion, cuando tengas que imprimir varios html colocalo solo en un echo ;) saludos.
  #5 (permalink)  
Antiguo 28/01/2011, 01:10
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: el bucle while no me muestra el primer registro

Código PHP:
Ver original
  1. $consulta=("select * from productos ");
  2.  $resultadosp=mysql_query($consulta,$conexion);

Supongo que entre que haces la consulta y el while tienes algun mysql_fetch_ALGO() que es lo que hace avanzar el apuntador al registro # 2... no veo (ni creo) otra causa.
__________________
- León, Guanajuato
- GV-Foto
  #6 (permalink)  
Antiguo 28/01/2011, 05:30
 
Fecha de Ingreso: agosto-2008
Mensajes: 606
Antigüedad: 15 años, 8 meses
Puntos: 11
Respuesta: el bucle while no me muestra el primer registro

gracias triby, lo que me ocasionaba errores era esta linea que tenia, seguramnte porque mueve el apuntador un registro:
Código PHP:
Ver original
  1. $fila=mysql_fetch_row($resultadosp)//numero de registros en fila

tenia esta también:

Código PHP:
Ver original
  1. $nfila=mysql_fetch_rows($resultadosp)//numero de filas

pero no me da error, quizás porque se que el primero es un array y el segundo me imprime directamente con un "echo" un resultado, correspondiendo con el número de registros. ¿Alguien me puede orientar de manera teorica porque sucede esto o remitirme algun articulo que lo explique? lo agradeceria mucho,entendiendo es como se aprende y para eso está el mangnifico foro, de todas formas me has sacado de un buén apuro. Gracias de nuevo tribY.
  #7 (permalink)  
Antiguo 28/01/2011, 11:16
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: el bucle while no me muestra el primer registro

Todas las funciones mysql_fetch_XXX() leen el registro actual y mueven el apuntador al siguiente.

Para obtener el numero de filas resultantes de la consulta debes usar mysql_num_rows().
__________________
- León, Guanajuato
- GV-Foto
  #8 (permalink)  
Antiguo 28/01/2011, 12:10
 
Fecha de Ingreso: agosto-2008
Mensajes: 606
Antigüedad: 15 años, 8 meses
Puntos: 11
Respuesta: el bucle while no me muestra el primer registro

Es cierto triby, por eso con:

no acurre lo del apuntador a un registro si ocurriria con:

Código php:
Ver original
  1. $nfila=mysql_fetch_rows($resultadosp)

como pongo en el post 6 que es un error pero no se como corregirlo, para que el post no lleve a confusión.
  #9 (permalink)  
Antiguo 28/01/2011, 16:27
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: el bucle while no me muestra el primer registro

Muestra tu codigo completo desde que armas la consulta y hasta el while.

Por ahora lo mas facil es eliminar esa linea mysql_fetch_row() y, en caso de que obtengas algun error, entonces regresas aqui.
__________________
- León, Guanajuato
- GV-Foto
  #10 (permalink)  
Antiguo 28/01/2011, 19:24
 
Fecha de Ingreso: agosto-2008
Mensajes: 606
Antigüedad: 15 años, 8 meses
Puntos: 11
Respuesta: el bucle while no me muestra el primer registro

Gracias triby pero no tengo ningun error lo que digo en el post 8 es que en el post 6 puede inducir a error lo que digo y por eso me gustaria corregirlo.

Etiquetas: bucle, muestra, primer, registro
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 17:57.