100% FUNCIONAL SIN SCRIPT
Agradecimientos:
vgonga1986
darkasecas
Ellos me ayudaron a terminar el paginador.
rogertm
Por aportar su tutorial en 2008 de como armar un buscador simple en php y mysql:
http://www.forosdelweb.com/f18/aport...-mysql-632623/
Bueno ahora si, para los que necesitaban un paginador, que hace tiempo buscan y no pudieron armarlo por falta de conocimiento en php o por diferentes razones.
Voy a explicarlo todo en base al buscador de rogertm
Paso 1)
Tienen que poner esto, abajo de la "conexión con su base de datos" o "selección de base de datos":
Para no equivocarse y saber donde tienen que pegar este código tienen que pegarlo abajo de este símbolo "}".
Código PHP:
//Limito la busqueda
$TAMANO_PAGINA = 10;
//examino la página a mostrar y el inicio del registro a mostrar
$pagina = $_GET["pagina"];
if (!$pagina) {
$inicio = 0;
$pagina=1;
}
else {
$inicio = ($pagina - 1) * $TAMANO_PAGINA;
}
Código PHP:
// seleccionamos la base de datos
$db_selected = mysql_select_db("aca tu base de datos", $server_link);
if(!$db_selected){
die("No se pudo seleccionar la Base de Datos ". mysql_error());
}
//Limito la busqueda
$TAMANO_PAGINA = 10;
//examino la página a mostrar y el inicio del registro a mostrar
$pagina = $_GET["pagina"];
if (!$pagina) {
$inicio = 0;
$pagina=1;
}
else {
$inicio = ($pagina - 1) * $TAMANO_PAGINA;
}
Ahí vas a tener diferentes nombres, ID, titulodelanoticia o como se llamen, en el buscador de roger se llaman noticiaTitulo y noticiaNoticia:
Paso 3)
Después de la verificación de la consulta:
Código PHP:
// verificamos que se haya enviado una consulta
if(isset($_GET['buscar']) && $_GET['buscar'] == 'Buscar'){
$frase = htmlspecialchars($_GET['frase']);
Bueno, abajo de eso pegan este código en el siguiente paso le vamos a dar una utilidad a la variable nueva que hicimos:
Código PHP:
$sssql = mysql_query("SELECT noticiaTitulo, noticiaNoticia,
MATCH (noticiaTitulo, noticiaNoticia)
AGAINST ('$frase' IN BOOLEAN MODE) AS coincidencias
FROM webs
WHERE MATCH (noticiaTitulo, noticiaNoticia)
AGAINST ('$frase' IN BOOLEAN MODE)
ORDER BY coincidencias DESC ", $server_link)
or die(mysql_error());
Paso 4) Abajo del código que pegaron recién, tienen que tener otro muy parecido o igual, a ese último, le agregan abajo de "order by coincidencias desc", LIMIT $inicio, $TAMANO_PAGINA
el de abajo les quedaría así, esto les va a servir para limitar los resultados que aparecen en cada página:
Código PHP:
$sqlBuscar = mysql_query("SELECT noticiaTitulo, noticiaNoticia,
MATCH (noticiaTitulo, noticiaNoticia)
AGAINST ('$frase' IN BOOLEAN MODE) AS coincidencias
FROM webs
WHERE MATCH (noticiaTitulo, noticiaNoticia)
AGAINST ('$frase' IN BOOLEAN MODE)
ORDER BY coincidencias DESC
LIMIT $inicio, $TAMANO_PAGINA ", $server_link)
or die(mysql_error());
Código PHP:
$totalRows = mysql_num_rows($sqlBuscar);
Código PHP:
$totalRows = mysql_num_rows($ssql);
Código PHP:
//calculo el total de páginas
$total_paginas = ceil($totalRows / $TAMANO_PAGINA);
Cita:
Número de registros encontrados: 260
Se muestran páginas de 10 registros cada una
Mostrando la página 5 de 26
Se muestran páginas de 10 registros cada una
Mostrando la página 5 de 26
Código PHP:
//pongo el número de registros total, el tamaño de página y la página que se muestra
echo "Número de registros encontrados: " . $totalRows . "<br>";
echo "Se muestran páginas de " . $TAMANO_PAGINA . " registros cada una<br>";
echo "Mostrando la página " . $pagina . " de " . $total_paginas . "<p>";
Código PHP:
$totalRows = mysql_num_rows($ssql);
//calculo el total de páginas
$total_paginas = ceil($totalRows / $TAMANO_PAGINA);
//pongo el número de registros total, el tamaño de página y la página que se muestra
echo "Número de registros encontrados: " . $totalRows . "<br>";
echo "Se muestran páginas de " . $TAMANO_PAGINA . " registros cada una<br>";
echo "Mostrando la página " . $pagina . " de " . $total_paginas . "<p>";
Arriba de "//Error debe introducir una palabra", que muestra el error, y más abajo otro distinto si no se encontro ningún resultado.
Vamos a pegar otro código, el último =):
Código PHP:
// si se ha enviado vacio el formulario
//muestro los distintos índices de las páginas, si es que hay varias páginas
if ($total_paginas > 1){
for ($i=1;$i<=$total_paginas;$i++){
if ($pagina == $i)
//si muestro el índice de la página actual, no coloco enlace
echo $pagina . " ";
else
//si el índice no corresponde con la página mostrada actualmente, coloco el enlace para ir a esa página
echo "<a href='indextest1.php?frase=" . $frase . "&buscar=Buscar&pagina=" . $i . "'>" . $i . "</a> ";
}
}
Un saludo!!, si tuvieron errores dejan un comentario y los ayudo