SoloCodigo

Programación Web y Scripting => PHP => Mensaje iniciado por: humbestr en Lunes 6 de Septiembre de 2010, 20:45

Título: mysql_fetch_assoc salta primera fila
Publicado por: humbestr en Lunes 6 de Septiembre de 2010, 20:45
Buenas. Tengo un problemita que ojala me pudieran ayudar a resolverlo.

Tengo una consulta mysql y quiero pasarla a un array. Tengo el siguiente codigo, es una funcion de usuario que pasa el resultado de una consulta a un array:

function toArray($resultado)
{
do {
$registros[] = $fila;
}
while ($fila = mysql_fetch_assoc($resultado));
return $registros;
}
$vector = toArray($pru);
echo "<pre>";
print_r($vector);
echo "</pre>";


Aqui esta otro codigo que ya probe:

function toArray($resultado)
{
while ($fila = mysql_fetch_assoc($resultado)) {
$registros[] = $fila;
}
return $registros;
}
$vector = toArray($pru);
echo "<pre>";
print_r($vector);
echo "</pre>";




El detalle es que siempre se "brinca" la primera fila de la consulta, la presenta como nula. Ya probe con mysql_fetch_array y mysql_fetch_row y el resultado es similar. Ojala y tengan alguna sugerencia.

Gracias
Título: Re: mysql_fetch_assoc salta primera fila
Publicado por: DriverOp en Lunes 6 de Septiembre de 2010, 21:02
La primera función debería darte error pues $fila no está definida cuando ocurre el primer ciclo del bucle. Creo que lo que estás buscando hacer es esto:

[php:2dz0rdn3]
  1.  
  2. function toArray($resultado) {
  3. $registros = Array (http://www.php.net/array)();
  4. if ($fila = mysql_fetch_assoc (http://www.php.net/mysql_fetch_assoc)($resultado)) {
  5.   do {
  6.     $registros[] = $fila;
  7.   } while ($fila = mysql_fetch_assoc (http://www.php.net/mysql_fetch_assoc)($resultado));
  8. }
  9. return $registros;
  10. }
[/php:2dz0rdn3]
Título: Re: mysql_fetch_assoc salta primera fila
Publicado por: humbestr en Lunes 6 de Septiembre de 2010, 21:27
Gracias DriverOp, pero todavia sigue saltandose la primera fila.

Tambien hice un ciclo con do while para imprimir los datos en pantalla, y si muestra todos los que son, pero al momento de querer pasarlos a un array, omite la primera fila.

Saludos
Título: Re: mysql_fetch_assoc salta primera fila
Publicado por: jodijo5 en Martes 21 de Septiembre de 2010, 05:07
prueba con esto, es una pequeña variacion del código de mi amigo DriverOp, su código está bien, pero hay algunos servidores que hacen su pataleta de vez en cuando jeje :-D
Código: PHP
  1.  
  2. function toArray($resultado) {
  3.     $registros = Array();
  4.     while ($fila = mysql_fetch_assoc($resultado)) {
  5.         $registros=array_push($registros,$fila);
  6.     }
  7.     return $registros;
  8. }
  9.  
  10.  
Título: Re: mysql_fetch_assoc salta primera fila
Publicado por: DriverOp en Viernes 24 de Septiembre de 2010, 18:26
jodijo5:
Simple y elegante, I like it! :D