Foros del Web » Programando para Internet » PHP »

Pierdo un registro con Paginator

Estas en el tema de Pierdo un registro con Paginator en el foro de PHP en Foros del Web. Hola a tod@s mi problema es que cuando me muestra los resultados de una consulta con Paginator, pierdo el primer resultado. Me empieza a mostrar ...
  #1 (permalink)  
Antiguo 15/12/2005, 08:42
Usuario no validado
 
Fecha de Ingreso: agosto-2004
Mensajes: 74
Antigüedad: 20 años, 3 meses
Puntos: 0
Pierdo un registro con Paginator

Hola a tod@s

mi problema es que cuando me muestra los resultados de una consulta con Paginator, pierdo el primer resultado. Me empieza a mostrar a partir del segundo resultado. imagino que es un problema de configuracion, pero alguien me puede ayudar a solventarlo?
Gracias
  #2 (permalink)  
Antiguo 15/12/2005, 09:53
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 21 años, 2 meses
Puntos: 41
Hola tamahome,

Lamentableblemente con la información que das, es imposible descubrir la causa del problema. Te agradecería que postees el código que utilizas para así poder examinarlo.

Saludos
  #3 (permalink)  
Antiguo 15/12/2005, 10:34
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Deberías adjuntar el código completo que usas ..

Es muyyyyyyyyyyyyyyyyyy probable que hagas algo tipo:

mysq_fetch_xxx($???);

y luego (seguidamente en el flujo del código) ...

//Leemos y escribimos los registros de la página actual
while($row = mysql_fetch_array($_pagi_result)){
echo $row['nombre']."<br />";
}


No sé si conoces como funcionan las funciones "mysql_fetch_xxx()" pero lo que hacen es entregarte el primer resultado y mover el puntero a la siguiente posición del "record-set" (juego de resultados).

De todas formas .. no dejes que "adivinemos" el problema .. expón el código que usas -completo- y detalla el problema.

Un saludo,
  #4 (permalink)  
Antiguo 15/12/2005, 14:05
Usuario no validado
 
Fecha de Ingreso: agosto-2004
Mensajes: 74
Antigüedad: 20 años, 3 meses
Puntos: 0
si, teneis razon, pero es que creia que era error de mi configuracion del paginator.
mi codigo de llamada es este

Código PHP:
<?

$con 
mysql_connect("servidor","usuario","contraseña") or die (mysql_error()); 
mysql_select_db("basedatos",$con) or die (mysql_error()); 

//Sentencia sql (sin limit) 
$_pagi_sql "SELECT *  FROM `telemarketig` WHERE `tteleoperad` LIKE '" $_SESSION['usuario_login'] ."'"

//cantidad de resultados por página (opcional, por defecto 20) 
$_pagi_cuantos 20

//Incluimos el script de paginación. Éste ya ejecuta la consulta automáticamente 
include("paginator.inc.php"); 

//Leemos y escribimos los registros de la página actual 

while($row mysql_fetch_array($_pagi_result)){ 
?>
el script de paginacion "paginator.inc.php" no he hecho ninguna modificacion

y recibo los datos asi:

Código PHP:
<?
$color
='#F0F0F0';  
for(
$i=0;$i<20;$i++) 
while(
$row mysql_fetch_array($_pagi_result)){
echo 
"\t<tr bgcolor=\"$color\">\n";
  
$color=('#F0F0F0'==$color)?'#FFFFFF':'#F0F0F0';
    echo 
"\t\t<td><a href=verficha.php?id=".$row["id"].">".$row["tempresa"]."</a>\n";
    echo 
"\t\t<td>"$row['tdireccion']."\n";
    echo 
"\t\t<td>"$row['tpoblacion']."\n";
    echo 
"\t\t<td>"$row['fecha']."\n";
     
   }
   echo 
"\t</tr>\n";
echo 
"</table>\n";

//Incluimos la barra de navegación
echo"<div font-size= 10px align='center'><p>".$_pagi_navegacion."</p>.</div>";




?>
Gracias por vuestro interes y felicidades por vuestros programas
  #5 (permalink)  
Antiguo 15/12/2005, 14:22
Avatar de gonzalezmfrank  
Fecha de Ingreso: julio-2005
Ubicación: Maracaibo - Venezuela
Mensajes: 266
Antigüedad: 19 años, 4 meses
Puntos: 0
Hola....Como es que lo tienes en dos codigos ?

Te paso un ejemplo ...
Código PHP:
<? 
    
require("conectar.php");
    if (empty(
$idnot)) {
       
$_pagi_sql="SELECT * FROM ka_noticias ORDER BY fecha_reg DESC";
    } else {
       
$_pagi_sql="SELECT * FROM ka_noticias WHERE ID='$idnot' ORDER BY fecha_reg DESC";
    }
    
$_pagi_cuantos 3;
    include (
"paginator.inc.php");
    while (
$desc mysql_fetch_array($_pagi_result)) {
      
$nueva_img image_gd($desc[imagen],$upload_dir1);
      
$list getimagesize($nueva_img);
      
$texto_largo revisar_tildes($desc[detalle]);
      
$texto_largo nl2br($texto_largo);
      echo 
"<table class='box' align='center' width='100%' border='0' cellspacing='0' cellpadding='5'>";
      echo 
"<tr>
             <th align='left' colspan='2'><h2>$desc[titular]</h2><hr></th>
            </tr>"
;
      echo 
"<tr>
            <td width='25%' rowspan='2'><img src='$nueva_img' align='middle'"
.$list[3]."alt=''></td>
            <td width='75%' valign='top'>$texto_largo<br><br></td>
          </tr>
        <tr>
          <td><a href='javascript:history.go(-1)'><font size='1px'><b>Regresar...</b></font></a></td>
        </tr>"
;
      echo 
"</table><br>";
    }
    echo 
"<table width='100%' border='0' cellspacing='0' cellpadding='5'>
        <td width='60%' align='left' style='font-size:11px'>"
.$_pagi_info."</td>
        <td width='40%' align='right' style='font-size:11px'>"
.$_pagi_navegacion."</td>
          </table><br>"
;
    
mysql_free_result($_pagi_result);
    
?>
segun creo estás incluyendo un while dentro de otro....

Saludos

Frank
  #6 (permalink)  
Antiguo 17/12/2005, 12:02
Usuario no validado
 
Fecha de Ingreso: agosto-2004
Mensajes: 74
Antigüedad: 20 años, 3 meses
Puntos: 0
Gracias Frank!! Por fin lo he solucionado, tenias razon, tenia un while dentro de otro. eliminando uno de los dos, que eran iguales, lo consegui.

Saludos
  #7 (permalink)  
Antiguo 17/12/2005, 17:49
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 21 años, 2 meses
Puntos: 41
Pues llegué un poco tarde... pero qué bueno que lo solucionaste.

Saludos
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 14:45.