Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: pepelon en 8 Enero 2007, 20:08 pm



Título: paginacion --php-sql-html--
Publicado por: pepelon en 8 Enero 2007, 20:08 pm
Holas, aqui tengo un codigo para paginar resultados de una consulta de bd, pero como podria hacer para que el nombre de la pagina no sea "paginacion.php?pagina=2" sino que la pagina sea en un html, y noc si se puede, que en cada pagina se le cambie el nombre por cada pagina o como doy los resultados llamndolos desde un include?? :huh:.Aqui esta el codigo:
Código:
<?php

function conectar()
{
$co = mysql_connect("localhost", "usuario", "clave") or die("Error a conectar al host"); //Conectamos a la bd con el host, usuario y contraseña.
mysql_select_db("nombre_de_BD",$co) or die("Error al abrir bd");
}

$db = conectar();


$registros = 3;//cantidad por pagina, editar por la cantidad que quiero.

if (!$pagina) {
    $inicio = 0;
    $pagina = 1;
}
else {
    $inicio = ($pagina - 1) * $registros;
}


?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Noticias</title>
<style>
body { font-family: arial; font-size:12px}
</style>
</head>

<body>
<?php
$resultados = mysql_query("SELECT id FROM articulos WHERE visible = 1");//cambiar datos de BD
$total_registros = mysql_num_rows($resultados);
$resultados = mysql_query("SELECT * FROM articulos WHERE visible = 1 ORDER BY fecha DESC LIMIT $inicio, $registros");//editar "articulos", "fecha",  por descargas, algun dato pra ordenar como agregarle letras o como se quiera ordenar
$total_paginas = ceil($total_registros / $registros);  

if($total_registros) {

while($articulo=mysql_fetch_array($resultados)) {

echo "<b>".$articulo["titulo"]."</b><br>";//editar "titulo" por nombre del juego
echo "<font color='#666666'>".$articulo["descripcion"]."</font><br><br><br>";//editar descripcion por des

}

} else {
echo "<font color='darkgray'>(sin resultados)</font>";
}

mysql_free_result($resultados);

if($total_registros) {

echo "<center>";

if(($pagina - 1) > 0) {
echo "<a href='paginacion.php?pagina=".($pagina-1)."'>< Anterior</a> ";
}

for ($i=1; $i<=$total_paginas; $i++){
if ($pagina == $i)
echo "<b>".$pagina."</b> ";
else
echo "<a href='paginacion.php?pagina=$i'>$i</a> ";
}
 
if(($pagina + 1)<=$total_paginas) {
echo " <a href='paginacion.php?pagina=".($pagina+1)."'>Siguiente ></a>";
}

echo "</center>";

}
?>
</body>
</html>


Título: Re: paginacion --php-sql-html--
Publicado por: .Carlos en 8 Enero 2007, 20:27 pm
Puedes usar mod_rewrite para cambiar de paginacion.php?pagina=2 a pagina-2.html o cualquier otra, en si no le cambia la extensión del archivo sino que redirige pagina-X.html a paginacion.php?pagina=X.

http://www.webmaster-toolkit.com/mod_rewrite-rewriterule-generator.shtml


Título: Re: paginacion --php-sql-html--
Publicado por: pepelon en 8 Enero 2007, 21:00 pm
el problema es que no tengo activado el mod_rewrite, en la info de mi server solo hay esto activado (osea donde sale rewrite)
:
Código:
url_rewriter.tags	a=href,area=href,frame=src,input=src,form=,fieldset=	a=href,area=href,frame=src,input=src,form=,fieldset=

y ademas, y si quiero poner el resultado dentro de una tabla?


Título: Re: paginacion --php-sql-html--
Publicado por: дٳŦ٭ en 8 Enero 2007, 22:49 pm
Crea un .htaccess:

Código:
AddType application/x-httpd-php .php .htm .html

Saludos


Título: Re: paginacion --php-sql-html--
Publicado por: pepelon en 10 Enero 2007, 15:53 pm
hola, disculpa por la demora, pero tenia examenes.
Bueno, puse el codigo que me diste, pero me sale error,me lleva a la pagina 404.php creada por el servidory no entra a los mios??
y en los links tambien tendria que cambiar los links de aaa.php a aaa.htm??
gracias por la ayuda ;D


Título: Re: paginacion --php-sql-html--
Publicado por: дٳŦ٭ en 10 Enero 2007, 20:08 pm
hola, disculpa por la demora, pero tenia examenes.
Bueno, puse el codigo que me diste, pero me sale error,me lleva a la pagina 404.php creada por el servidory no entra a los mios??
y en los links tambien tendria que cambiar los links de aaa.php a aaa.htm??
gracias por la ayuda ;D

Claro, el htaccess los que hace es que todos los html los toma como php.

Saludos