Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/09/2008, 11:42
fefeG
 
Fecha de Ingreso: septiembre-2008
Ubicación: Barcelona
Mensajes: 19
Antigüedad: 15 años, 7 meses
Puntos: 0
Problema con código para paginación

Buenas,

En un formulario recojo unos valores para hacer unos listados según la categoría.
Cuando los listo todos perfecto,
código:
$resultados =mysql_db_query("comercio","select * from tb_comercios");

cuando listo indicando que venga de la categoría Ocio, perfecto también:

$resultados =mysql_db_query("comercio","select * from tb_comercios WHERE activitat LIKE 'Ocio");

El problema es, para no hacer más archivos, quiero poner lo siguiente:
$resultados =mysql_db_query("comercio","select * from tb_comercios WHERE activitat LIKE '$Actividad"); la variable la defino previamente del form

Me lista la primera parte, si repagino en 5, por ejemplo, me lista los 5 primeros, me calcula cuantas páginas más hay me añade el siguiente, pero cuando pincho sobre la página 2 me da el error - sin resultados

copio el código del documento:
<?

function conectar()
{
$base_de_datos = "comercio";
$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;
}


?>

<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_db_query("comercio","select * from tb_comercios WHERE activitat LIKE '$Actividad'");
$total_registros = mysql_num_rows($resultados);
$resultados = mysql_db_query("comercio","SELECT * FROM tb_comercios WHERE activitat LIKE '$Actividad' ORDER BY nom DESC LIMIT $inicio, $registros");
$total_paginas = ceil($total_registros / $registros);

if($total_registros){


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

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

}

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


}

mysql_free_result($resultados);

if($total_registros) {

echo "<center>";

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

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

if(($pagina + 1)<=$total_paginas) {
echo " <a href='activitat.php?pagina=".($pagina+1)."'>Siguie nte </a>";
}

echo "</center>";

}
?>
</body>
</html>
<? mysql_close($db);?>


a alguien se le ocurre dónde está el fallo?

Gracias por adelantado, saludos