Foros del Web » Programando para Internet » Javascript » Frameworks JS »

paginacion consultas mysql

Estas en el tema de paginacion consultas mysql en el foro de Frameworks JS en Foros del Web. Hola! estoy paginando una consulta en mysql, ya casi tengo todo listo, esta paginandome y arreglando el numero de paginas esta mostrando correctamente la consulta, ...
  #1 (permalink)  
Antiguo 29/09/2010, 08:48
 
Fecha de Ingreso: septiembre-2010
Ubicación: colombia
Mensajes: 45
Antigüedad: 14 años, 2 meses
Puntos: 0
paginacion consultas mysql

Hola! estoy paginando una consulta en mysql, ya casi tengo todo listo, esta paginandome y arreglando el numero de paginas esta mostrando correctamente la consulta, el problema lo estoy teniendo en la parte del desplazamiento: Primero, Siguiente y Ultimo no aparecen como si fueran links, osea que aparece el texto pero no peudo hacer clic en el para que me muestre las otras paginas de mi tabla

el javascript es el siguiente:
Código PHP:
function objetoAjax(){
 var 
xmlhttp=false;
  try{
   
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  }catch(
e){
   try {
    
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
   }catch(
E){
    
xmlhttp false;
   }
  }
  if (!
xmlhttp && typeof XMLHttpRequest!='undefined') {
   
xmlhttp = new XMLHttpRequest();
  }
  return 
xmlhttp;
}

function 
Pagina(nropagina,fecha1,fecha2,userfield){
 
divContenido document.getElementById('contenido4');
 
 
ajax=objetoAjax();
 
ajax.open("GET""paginador.php?pag="+nropagina+"&fecha1="+fecha1+"&fecha2="+fecha2+"&usefield="+userfield);
 
divContenido.innerHTML'<img src="anim.gif">';
 
ajax.onreadystatechange=function() {
  if (
ajax.readyState==4) {
   
divContenido.innerHTML ajax.responseText
  
}
 }
 
ajax.send(null)


y el codigo de Paginador.php es el siguiente:
Código PHP:
<?php

//lamando a la clase de conexion a la base de datos
include("ConexionMYSQL.php");  //clase

$db = new MySQL();    //instanciandola

$userfield $_GET[userfield];
//Capturo las variables de entrada de fecha para la paginacion
$fecha1 =$_GET[fecha1];
$fecha2 =$_GET[fecha2];


$RegistrosAMostrar=30;

//estos valores los recibo por GET
if(isset($_GET['pag'])){
    
$RegistrosAEmpezar=($_GET['pag']-1)*$RegistrosAMostrar;
    
$PagAct=$_GET['pag'];
//caso contrario los iniciamos
}else{
    
$RegistrosAEmpezar=0;
    
$PagAct=1;
    
}

echo 
"FECHA 1 = ".$fecha1." --- fecha2= ".$fecha2." --- userfield = ".$userfield." --- pagina actual = ".$PagAct;

$Resultado=mysql_query("SELECT * FROM cdr where date_format(calldate,'%Y-%m-%d') between  '$fecha1' and '$fecha2' and userfield like '%".$userfield."%' LIMIT $RegistrosAEmpezar, $RegistrosAMostrar");


//miro a ver el número total de campos que hay en la tabla con el select
$rs mysql_query("SELECT * FROM cdr where date_format(calldate,'%Y-%m-%d') between  '$fecha1' and '$fecha2' and userfield like '%".$userfield."%' "); 
$num_total_registros mysql_num_rows($rs); 

echo 
"&nbsp&nbsp Registros =".$num_total_registros;

if (
mysql_num_rows($rs)) 
        {
            
//echo "<table border = '1'> \n";
            
echo "<table border = '1' id=myTable > \n";
            print 
'<TR align="center">'
            print 
'<TH><font size=1>CALLDATE</font></TH>'
            print 
'<TH><font size=1>CLID</font></TH>'
            print 
'<TH><font size=1>SRC</font></TH>'
            print 
'<TH><font size=1>DST</font></TH>'
            print 
'<TH><font size=1>DCONTEXT</font></TH>'
            print 
'<TH><font size=1>CHANNEL</font></TH>'
            print 
'<TH><font size=1>DSTCHANNEL</font></TH>'
            print 
'<TH><font size=1>LASTAPP</font></TH>'
            print 
'<TH><font size=1>LASTDATA</font></TH>';
            print 
'<TH><font size=1>DURATION</font></TH>'
            print 
'<TH><font size=1>BILLSEC</font></TH>';
            print 
'<TH><font size=1>DISPOSITION</font></TH>'
            print 
'<TH><font size=1>AMAFLAGS</font></TH>'
            print 
'<TH><font size=1>ACCOUNTCODE</font></TH>'
            print 
'<TH><font size=1>USERFIELD</font></TH>'
            print 
'<TH><font size=1>UNIQUEID</font></TH>';
            print 
'</TR> ';  
         
            while(
$fila=mysql_fetch_array($Resultado))
            {
                print 
'<TR align="center">';
                echo 
"<td ><font size=1>".$fila['calldate']."</font></td>";
                echo 
"<td><font size=1>".$fila['clid']."</font></td>";
                echo 
"<td><font size=1>".$fila['src']."</font></td>";
                echo 
"<td><font size=1>".$fila['dst']."</font></td>";
                echo 
"<td><font size=1>".$fila['dcontext']."</font></td>";
                echo 
"<td><font size=1>".$fila['channel']."</font></td>";
                echo 
"<td><font size=1>".$fila['dstchannel']."</font></td>";
                echo 
"<td><font size=1>".$fila['lastapp']."</font></td>";
                echo 
"<td><font size=1>".$fila['lastdata']."</font></td>";
                echo 
"<td><font size=1>".$fila['duration']."</font></td>";
                echo 
"<td><font size=1>".$fila['billsec']."</font></td>";
                echo 
"<td><font size=1>".$fila['disposition']."</font></td>";
                echo 
"<td><font size=1>".$fila['amaflags']."</font></td>";
                echo 
"<td><font size=1>".$fila['accountcode']."</font></td>";
                echo 
"<td><font size=1>".$fila['userfield']."</font></td>";
                echo 
"<td><font size=1>".$fila['uniqueid']."</font></td>";
                print 
'</TR>'
            }
            echo 
"</table>";
        }
//******--------determinar las páginas---------******//
$NroRegistros=$num_total_registros;

$PagAnt=$PagAct-1;
$PagSig=$PagAct+1;
$PagUlt=$NroRegistros/$RegistrosAMostrar;

//verificamos residuo para ver si llevará decimales
$Res=$NroRegistros%$RegistrosAMostrar;
// si hay residuo usamos funcion floor para que me
// devuelva la parte entera, SIN REDONDEAR, y le sumamos
// una unidad para obtener la ultima pagina
if($Res>0$PagUlt=floor($PagUlt)+1;

//desplazamiento
echo "<a onclick=\"Pagina('1',$fecha1,$fecha2,$userfield)\">Primero</a> ";
if(
$PagAct>1) echo "<a onclick=\"Pagina($PagAnt,$fecha1,$fecha2,$userfield)\">Anterior</a> ";
echo 
"<strong>Pagina ".$PagAct."/".$PagUlt."</strong>";
if(
$PagAct<$PagUlt)  echo " <a onclick=\"Pagina($PagSig,$fecha1,$fecha2,$userfield)\">Siguiente</a> ";
echo 
"<a onclick=\"Pagina($PagUlt,$fecha1,$fecha2,$userfield)\">Ultimo</a>";
?>
creo que el error de los enlcaes para cambiar de pagina esta en la ultima parte... per yo no se mucho de html, asi que corrijanme si estoy equivocado

P.D
corrigiendo eso, la paginacion funciona 100% asi que pueden copiar el codigo si lo desean, es facil de implementar

Gracias!!!!
  #2 (permalink)  
Antiguo 29/09/2010, 17:00
 
Fecha de Ingreso: septiembre-2010
Ubicación: colombia
Mensajes: 45
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: paginacion consultas mysql

nadie???? por favor!
  #3 (permalink)  
Antiguo 02/10/2010, 22:04
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años, 7 meses
Puntos: 23
Respuesta: paginacion consultas mysql

si los presionas si te funcionan como enlace, sucede que al no tener href el puntero no te lo muestra como enlace, sin embargo aunq eso suceda da clic sobre el link y veras que si te manda a la siguiente pagina.

Si deceas que se vea el puntero como enlace prueba agregando este estilo a cada enlace:

<a style='cursor: pointer' onclick=\"Pagina($PagUlt,$fecha1,$fecha2,$userfiel d)\">Ultimo</a>

Última edición por catpaw; 02/10/2010 a las 22:40
  #4 (permalink)  
Antiguo 03/10/2010, 09:55
Avatar de egepe  
Fecha de Ingreso: diciembre-2009
Mensajes: 310
Antigüedad: 15 años
Puntos: 7
Respuesta: paginacion consultas mysql

Código PHP:
echo "<a href onclick=\"Pagina('1',$fecha1,$fecha2,$userfield)\">Primero</a> ";
if(
$PagAct>1) echo "<a onclick=\"Pagina($PagAnt,$fecha1,$fecha2,$userfield)\">Anterior</a> ";
echo 
"<strong>Pagina ".$PagAct."/".$PagUlt."</strong>";
if(
$PagAct<$PagUlt)  echo " <a onclick=\"Pagina($PagSig,$fecha1,$fecha2,$userfield)\">Siguiente</a> ";
echo 
"<a href onclick=\"Pagina($PagUlt,$fecha1,$fecha2,$userfield)\">Ultimo</a>";
?> 
te falta el href que le coloque, así me va a mostrar las "manitos" cuando coloques el cursor encima.

Otra cosa, estas usando un script que es ya conocido y dices que es tuyo!!!!! Bueno ahí tienes la solucion

Saludos
  #5 (permalink)  
Antiguo 03/10/2010, 10:06
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años, 7 meses
Puntos: 23
Respuesta: paginacion consultas mysql

No se si sea correcto poner el href asi como lo pones egepe, incluse se supone q cuando pones un href sin ruta debe ir asi: href="#" aunque bueno no soy experta por eso sugeri el style cursor: pointer que te simula la "manita", de hecho yo tengo ese codigo de paginacion que es la primer pagina q ye sale al dar el goglazo y me funciona ok con el estilo...

Cuestion de opiniones XD

Saludos!!!
  #6 (permalink)  
Antiguo 03/10/2010, 10:11
Avatar de egepe  
Fecha de Ingreso: diciembre-2009
Mensajes: 310
Antigüedad: 15 años
Puntos: 7
Respuesta: paginacion consultas mysql

NO, NO, NO solo se lo coloque pero no lo probe tal vez le falle pero muy buena tu observación catpaw. Saludos y nuevamente gracias

Etiquetas: ajax, mysql, paginacion
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 13:35.