Comunidad de diseño web y desarrollo en internet online

Ayuda con Paginacion en PHP

Citar            
MensajeEscrito el 23 Nov 2007 09:14 pm
Buenas... tengo un codigo de paginacion bien sensillo que funciona a la perfeccion en modo local..pero el problema es cuando lo subo al servidor... toma los datos de la primera pagina pero no funciona el codigo de cambio de pagina... mi pregunta es a que se debe??? alguna solucion??? que estoy haciendo mal??... cualquier comentario o consulta se agradece...

bueno este es el codigo...

<?

function conectar()
{
$base_de_datos = "noticias";
$db_usuario = "root";
$db_password = "";

if (!($link = mysql_connect("localhost", $db_usuario, $db_password)))
{
echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db($base_de_datos, $link))
{
echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}

$db = conectar();


$registros = 3;

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>
<?
$resultados = mysql_query("SELECT id FROM articulos WHERE visible = 1");
$total_registros = mysql_num_rows($resultados);
$resultados = mysql_query("SELECT * FROM articulos WHERE visible = 1 ORDER BY fecha DESC LIMIT $inicio, $registros");
$total_paginas = ceil($total_registros / $registros);

if($total_registros) {

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

echo "<b>".$articulo["titulo"]."</b><br>";
echo "<font color='#666666'>".$articulo["descripcion"]."</font><br><br><br>";

}

} 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>
<? mysql_close($db);?>

________________________________________________
thnks.-

Por quijote

3 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 24 Nov 2007 10:23 am
A primera vista solo veo q esta mal q consideras q todas las variables son globales... quizas x eso no te funciona...

En tu server local debes tener register_globals en ON... pero en tu hosting debe estar en off

para solucioarn eso proba poner

Código :

$pagina = (isset($_GET["pagina"]))?$_GET["pagina"]:0;
if (!$pagina) {
$inicio = 0;
$pagina = 1;
}
else {
$inicio = ($pagina - 1) * $registros;
}



Igual mas tarde prueba tu codigoe en mi pc.. ya q ahora no estoy en mi casa


Saludos

Por 3w

145 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 24 Nov 2007 03:37 pm
Gracias 3w justamente ese era el problema... ahora funciona todo tal cual que en la forma local..

Thnks.-

Por quijote

3 de clabLevel



Genero:Masculino  

msie7

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.