paginacion --php-sql-html--

Iniciado por pepelon, 8 Enero 2007, 20:08 PM

0 Miembros y 1 Visitante están viendo este tema.

pepelon

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>

.Carlos

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

pepelon

#2
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?

дٳŦ٭

Crea un .htaccess:


AddType application/x-httpd-php .php .htm .html


Saludos


Con sangre andaluza :)


pepelon

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

дٳŦ٭

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


Con sangre andaluza :)