Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => 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:

<?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)
: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:


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
Cita de: 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

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

Saludos