Foros del Web » Programando para Internet » PHP »

consulta select omite el primer resultado

Estas en el tema de consulta select omite el primer resultado en el foro de PHP en Foros del Web. Hola: Tengo un prblemilla con php, la version que usa el servidor es PHP 4.3.11, mysql Ver 12.22 Distrib 4.0.16, he trabjado con otros servidores ...
  #1 (permalink)  
Antiguo 19/10/2005, 09:43
Avatar de fatherjuan  
Fecha de Ingreso: mayo-2005
Ubicación: Estado de México
Mensajes: 132
Antigüedad: 12 años, 6 meses
Puntos: 0
consulta select omite el primer resultado

Hola:

Tengo un prblemilla con php, la version que usa el servidor es PHP 4.3.11, mysql Ver 12.22 Distrib 4.0.16, he trabjado con otros servidores y no he tenido problemas pero en este (http://ipowerweb.com) al usar un query "SELECT * FROM tabla", no devuelve ningun error, sin embargo omite resultados dependiendo de los criterios de consulta y los filtros que utilice.

Alguien sabe algo al respecto?
  #2 (permalink)  
Antiguo 19/10/2005, 10:34
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 12 años, 2 meses
Puntos: 18
Pues no, pero si nos muestras el código en el que tienes 'poltergeists' pues lo mismo te podemos ayudar mejor.
  #3 (permalink)  
Antiguo 19/10/2005, 10:34
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si indicas el código que usas -completo- te podremos por ejemplo recomendar (si no lo haces ya) como obtener los posibles mensajes de error que se estén produciendo pero -no ves- ...

No sé si conoces la función mysql_error() .. pero deberías usarla bajo:
Código PHP:
$resultado=mysql_result($sql) or die (mysql_error()); 
Un saludo,
  #4 (permalink)  
Antiguo 20/10/2005, 10:09
Avatar de fatherjuan  
Fecha de Ingreso: mayo-2005
Ubicación: Estado de México
Mensajes: 132
Antigüedad: 12 años, 6 meses
Puntos: 0
Estoy muy avergonzado y bien podria omitir este mensaje, sin embargo ni modo reconozaco mi error, Agradezco sus respuestas y quede asentado para que no haya otro novato que pregunte lo mismo sin primero busacar en los mensajes ya enviados.

No se bien que suceda y si de una vez queres sacarme de mi ignorancia lo agradecere doblemente.

Solo se que omiti la linea que señalo y se fue el poltergaist.

gracias

Código PHP:
$query_pagos "SELECT * FROM usuarios"
$result_pagos mysql_query($query_pagos$db)  or die (mysql_error());

$row_pagos mysql_fetch_array($result_pagos); //<----- Estupido error

            
while($row_pagos mysql_fetch_array($result_pagos))
                {
                echo 
$row_pagos['usuario']."<BR>";
                } 
  #5 (permalink)  
Antiguo 20/10/2005, 10:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Una explicación del problema ...

Las funciones xxxx_fetch_xxx() de PHP lo que hacen es obtener el primer resultado de la consulta realizada y mover el puntero interno del resultado una posición adelante, cuando llegan al final (no hay más resultados) devuelven "false".

Por eso siempre veías desde el 2° resultado .. pues ese "estupido error" movia el puntero de tu resultado una posición adelante.

También por eso usamos un "while" para el proceso de recorrer todos los posibles resultados de la consulta.

Otro detalle .. estaría bueno que -antes- de intentar recorrer un resultado que pueda no arrojar ningún resultado, .. que verifiques si los hay:

Código PHP:
// etc ...
if (mysql_num_rows($result_pagos) > 0){
  
// si hay resultados .. los recorres.
  
while($row_pagos mysql_fetch_array($result_pagos)) 
                { 
                echo 
$row_pagos['usuario']."<BR>"
                } 
} else {
   echo 
"no hay resultados";

Un saludo,
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 22:54.