esto lo que hace es listar unas palabras, mostrando las 8 anteriores y 8 siguientes, y abajo pone las palabras que dependen de la seleccionada
Código PHP:
<?
// Conexion a base de datos
function conectar()
{
if (!($link=mysql_connect("localhost", "xxx_xxx", "xxx")))
{
echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db("xxx_xx",$link))
{
echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}
function desconectar()
{
mysql_close();
}
$link=conectar();
// Fin conexion
/* Nombre de este script */
$nombre="paginator2.php";
/* Numero total de registros (puede venir de Mysql)*/
//$total[0]=100;
//$sql = "select * from textos";
//$resultado = mysql_query($sql, $link);
//$total[0] = mysql_num_rows($resultado);
//echo "<br>Total: ".$total[0]."<br>";
$sql = "SELECT id AS recordCount FROM textos ORDER BY id DESC";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
$total[0] =$row['recordCount'];
/* Numero de registros que se desean por pagina */
$pag_max=10;
/* Calculo de las paginas */
$pg_num=$total[0] ;
/* 'pg' se usa para diseminar el # de pagina que nos encontramos (al principio no existira) */
if (!isset($_REQUEST['pg']))
{
$pg = 1;
$in = 0;
}
else if($_REQUEST['pg'] == 1)
{
$in=0;
$pg=$_REQUEST['pg'];
}
else if($_REQUEST['pg']>1)
{
$pg = $_REQUEST['pg'];
$in = $pg - 1;
$in = $in * $pag_max;
}
?>
<html>
<head>
<title>Navigator</title>
<style type="text/css">
<!--
body {
font: x-small sans-serif;
color: black;
}
div {
font-size: 110%;
}
a {
text-decoration: none;
color: #CC2200;
background: none;
text-transform: none;
}
a:visited {
color: #CC2200;
}
a:active {
color: #CC2200;
}
a:hover {
text-decoration: underline;
}
-->
</style>
</head>
<body>
<table align="center" width="100%" style="font-size:10px" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>MW entries</td>
<td>
<?
/* Navegador */
if(isset($pg))
{
$paginas_adelante =8; // Paginas que se veran adelante de actual
$paginas_atras =8; // Paginas que se veran detras de actual
/* Paginas */
//echo '<div style="border:1px solid black; float:left; padding:5px;">Página '.$pg.' de '.$pg_num.'</div><div style="float:left; width:3px;"></div>';
/* Primera pagina */
if($pg>1)
{
$pg_atras=$pg-$paginas_atras;
if ($pg_atras<1) $pg_atras=1;
echo '<div style="border:1px solid black; float:left; padding:2px;"><a href="'.$nombre.'?pg='.$pg_atras.'"><<</a></div>';
}
/* Atras */
if($pg>1)
{
if($pg>$paginas_atras)
{
$desde=$pg - $paginas_atras;
}
else
{
$desde=1;
}
$hasta=$pg - 1;
for($x=$desde; $x<=$hasta; $x++)
{
$query = "SELECT hk FROM textos WHERE pagina=$x ORDER BY id ASC";
$result = mysql_query($query);
if (mysql_error()) echo mysql_error()."<br>";
while ($rows = mysql_fetch_array($result))
{
$hkpage = $rows['hk'];
}
echo '<div style="float:left; padding:3px;"><a href="'.$nombre.'?pg='.$x.'">'.$hkpage.'</a></div>';
}
}
/* Pagina actual */
$query = "SELECT hk FROM textos WHERE pagina=$pg ORDER BY id ASC";
$result = mysql_query($query);
if (mysql_error()) echo mysql_error()."<br>";
while ($rows = mysql_fetch_array($result))
{
$hkpage = $rows['hk'];
}
echo '<div style="border:1px solid black; float:left; padding:2px;"><a href="http://shankara.com.ar/wiki/index.php/'.$hkpage.'" target="_top"><b>'.$hkpage.'</b></a></div>';
/* Adelante */
if($pg<$pg_num)
{
$limite=$pg+$paginas_adelante;
$s=$pg + 1;
for($x=$s; $x<=$limite; $x++)
{
if($x<=$pg_num)
{
$query = "SELECT hk FROM textos WHERE pagina=$x ORDER BY id ASC";
$result = mysql_query($query);
if (mysql_error()) echo mysql_error()."<br>";
while ($rows = mysql_fetch_array($result))
{
$hkpage = $rows['hk'];
}
echo '<div style="float:left; padding:3px;"><a href="'.$nombre.'?pg='.$x.'">'.$hkpage.'</a></div>';
}
}
}
/* Ultima pagina */
if($pg<$pg_num)
{
$pg_adelante=$pg+$paginas_adelante;
if ($pg_adelante>$pg_num) $pg_atras=$pg_num;
echo '<div style="border:1px solid black; float:left; padding:2px;"><a href="'.$nombre.'?pg='.$pg_adelante.'">>></a></div>';
}
}
// Aca listo los datos de la consulta
?>
</td>
</tr>
</table>
<table align="center" width="100%" style="font-size:10px" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Items</td>
<td>
<?php
//$query = "SELECT distinct(hk) FROM textos WHERE paginadep=$pg ORDER BY paginadep,id ASC";
$query = "SELECT hk FROM textos WHERE paginadep=$pg ORDER BY paginadep,id ASC";
$result = mysql_query($query);
if (mysql_error()) echo mysql_error()."<br>";
$link=1;
while ($rows = mysql_fetch_array($result))
{
if ($link==1) { $link=2;}
elseif ($link==2) { $link=0; }
else echo " - ";
$hk = $rows['hk'];
echo $hk;
}
// Fin listado
?> </td>
</tr>
</table>
</body>
</html>
http://particletree.com/examples/paging/
el problema es que ese codigo intente modificarlo y si borro algun div o columna me deja de funcionar.
la idea es que quede algo asi pero con ajax, para que al tocar en otra palabra o en el << o >> no tarde minutos en cargar de nuevo toda la pagina y tirar el query:
Cita:
<< palabra1 palabra2 palabra3 palabra4 palabra5 .... >>
palabra31 - palabra32 - palabra33
palabra31 - palabra32 - palabra33