tenog un paginador en ajax
ajax.js
Código HTML:
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){
//donde se mostrará los registros
divContenido = document.getElementById('contenido');
ajax=objetoAjax();
//uso del medoto GET
//indicamos el archivo que realizará el proceso de paginar
//junto con un valor que representa el nro de pagina
ajax.open("GET", "consultas.php?pag="+nropagina);
divContenido.innerHTML= '<img src="cargando.gif">';
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
//mostrar resultados en esta capa
divContenido.innerHTML = ajax.responseText
}
}
//como hacemos uso del metodo GET
//colocamos null ya que enviamos
//el valor por la url ?pag=nropagina
ajax.send(null)
}
Código HTML:
<div id="contenido"> <?php include('paginador.php')?> </div>
Código PHP:
<div id="contenido">
<iframe id="busqueda" src="<?php require ('consultas.php')?>" name="busqueda" style="width:645px; height:475px"></iframe></td>
</div>
Forbidden
You don't have permission to access /Biblioteca/<html><head><style type= on this server.
si solo pongo
Código PHP:
<iframe id="busqueda" src="consultas.php>" name="busqueda" style="width:645px; height:475px"></iframe></td>
consultas.php
Código PHP:
<?php
include("conexion.php");
?>
<html>
<head>
<style type="text/css">
<!--
.Estilo1 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-weight: bold;
}
-->
</style>
<script>
function ventana(fichero, nombre, w, h, scroll) {
winl = (screen.width - w) / 2;
wint = (screen.height - h) / 2;
propiedades = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable';
win = window.open( fichero, nombre, propiedades );
}
</script>
<title>BUSQUEDA</title></head>
<body>
<table width="100%" border="0">
<tr>
<td width="99%" align="center"><span class="Estilo1">Resultado de la busqueda:</span></td>
<td width="1%"> </td>
</tr>
<tr>
<td>
<?php
//Ahora asignamos a las variables el valor de la sesion
$Tbusq = $_REQUEST['opCAMPO1'];
$accion = $_REQUEST['txtEXPR1'];
$RegistrosAMostrar=10;
//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;
}
//Aquí ya tienes otro problema por que la pagina se pasa por GET
//Y los paremetros de busqueda por POST y al cambiar de pagina estos no se mandan.
//Te recomiendo usar solo POST o GET, o en su defecto guardar los valores en cookies.
$sql = "SELECT num, titulo, tema FROM inegi";
switch($Tbusq)
{
//Si $Tbusq es igual a 1
case 1:
$sql .= " WHERE titulo LIKE '%$accion%' ORDER BY num LIMIT $RegistrosAEmpezar, $RegistrosAMostrar";
break;
//Si $Tbusq es igual a 2
case 2:
$sql .= " WHERE tema LIKE '%$accion%' ORDER BY num LIMIT $RegistrosAEmpezar, $RegistrosAMostrar";
break;
case '':
default:
exit('Selecciona un tipo de busqueda');
//Como no tenemos busqueda no queremos saber nada mas
break;
}
//Realizar una consulta en la BD:
$resultados = mysql_query($sql);
//imprimimos los resultados
while ($row = mysql_fetch_array($resultados))
{
//Alternar los colores de las filas de la tabla
if ($colorfila==0){
$color= "#DEDEBE";
$colorfila=1;
}else{
$color="#F0F0F0";
$colorfila=0;
}
echo '<table border="0" cellspacing="0" cellpadding="0" width"100%">';
echo '<tr>';
echo "<td width=\"40\" height=\"100\" align=\"center\" valign=\"top\"><a href=\"javascript:ventana('ficha.php?num=".$row['num']."','',800,200,true)\">".$row['num']."</a></td>";
echo '<td bgcolor="'.$color.'" width="300" height="100" align="center" valign="middle">'.$row['titulo'].'</td>';
echo '<td bgcolor="'.$color.'" width="300" height="100" align="center" valign="middle">'.$row['tema'].'</td>';
//echo "<td width='125'><a href='javascript:ventana('temp.php?num=".$row['num'].",'',600,400,true)'/>'Modificar'</td>";
echo '</tr>';
echo '</table>';
}
//Ahora mostramos la paginacion
echo "<center>";
//******--------determinar las páginas---------******//
$NroRegistros=mysql_num_rows(mysql_query("SELECT * FROM inegi"));
$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')\">Primero</a> ";
if($PagAct>1) echo "<a onclick=\"Pagina('$PagAnt')\">Anterior</a> ";
echo "<strong>Pagina ".$PagAct."/".$PagUlt."</strong>";
if($PagAct<$PagUlt) echo " <a onclick=\"Pagina('$PagSig')\">Siguiente</a> ";
echo "<a onclick=\"Pagina('$PagUlt')\">Ultimo</a>";
?>
</td>
<td>
</td>
</tr>
</table>
</body>
</html>
<?php mysql_close($conexion);?>
GRACIAS DE ANTEMANO!