Estoy haciendo una consulta a través de un formulario que me da 3 variables a tener en cuenta para la consulta y al mostrar los resultados; hasta ahí todo funciona bien






Les dejo el código sobre el que trabajo por si alguien pudiera ayudar,
Gracias de antemano,
Código PHP:
<?
require("clases/paginacion.php");
?>
<?php
require("connect.php");
$conn=Conectar();
mysql_select_db("movies");
if (!mysql_select_db("movies",$conn)) {
printf("ERROR: %s\n",mysql_error());
mysql_close($conn);
die("Error en la db\n");
}
?>
<?php
/* Código aquí */
$ciudadmov=utf8_decode($_POST['ciudadmov']);
$clase=utf8_decode($_POST['clase']);
$autor=utf8_decode($_POST['autor']);
$query="SELECT pelic.clase, pelic.protag, pelic.text, album.caratula, pelic.fechaproduc, pelic.idppelic, pelic.ciudadmov, pelic.tit, pelic.precio
FROM pelic INNER JOIN album
ON pelic.ciudadmov='$ciudadmov'
AND pelic.clase='$clase'
AND pelic.autor='$autor'
AND pelic.album_idalbum=album.idalbum
ORDER BY fechaproduc DESC;
";
$rsT =mysql_query($query,$conn);
if (!$rsT) {
echo("Error en la query: ".mysql_error());
mysql_close($conn);
exit;
}
$total=mysql_num_rows($rsT);
if (!$total) { ?>
<div id="mri">
No se muestran resultados. </div>
<?
}
?>
<?
$pg = $_GET['page'];
$cantidad = 5; //Cantidad de registros que se desea mostrar por pagina
//Para probar solo le coloque 3
$paginacion = new paginacion($cantidad, $pg);
$desde = $paginacion-> getFrom();
$query2="SELECT pelic.clase, pelic.protag, pelic.text, album.caratula, pelic.fechaproduc, pelic.idppelic, pelic.ciudadmov, pelic.tit, pelic.precio
FROM pelic INNER JOIN album
ON pelic.ciudadmov='$ciudadmov'
AND pelic.clase='$clase'
AND pelic.autor='$autor'
AND pelic.album_idalbum=album.idalbum
ORDER BY fechaproduc DESC
LIMIT $desde, $cantidad;";
$rs =mysql_query($query2,$conn);
?>
<table class="mitabla" border="0" cellpadding="0" cellspacing="0">
<tr>
<?php
for($i=1;$row=mysql_fetch_array($rs);$i++){
?>
<td>
<div id="e55"> <a href="muestra.php?id=<? echo ($row['idpelic']);?>"> <img src="<? echo ($row['caratula']); ?>"/> </a> </div> </td>
<td>
<div class="e56"> <div id="e57"> </br> <? echo (($row['tit'])); ?> <div id="e69"> <? echo ($row['precio']); ?> € </div> <div id="e70">
  <? echo ($row['autor']);?> habit.
  │ <? echo utf8_encode(($row['text']));?> </div>
<div id="e71"> </div> </div> </div>
</td>
</tr>
<tr>
<td height="0"></td>
</tr>
</td>
</tr>
<tr>
<td> </td>
</tr>
<?php
}
?>
</table>
<div class="paginacion">
<?php
$url = "resultados.php?";
//Si se desea pasar otros parámetros se hace así
//(Ejemplo) $url = "ejemploPaginacion.php?catLibro=$idCat"
$classCss = "numPages";
//Clase CSS que queremos asignarle a los links
$back = "«Atras";
$next = "Siguiente»";
$paginacion->generaPaginacion($total, $back, $next, $url, $classCss);
?>
</div>
<?php
mysql_free_result($rsT);
mysql_close($conn);
exit;
mysql_free_result($rs);
mysql_close($conn);
exit;
?>
Aquí "paginación.php"
Código PHP:
<?php
class paginacion
{
private $page; //Pagina actual
private $from; //Numero de registro desde donde iniciar la busqueda
private $quantity; //Catidad de registros por página
private $totalRows; //Total de registros a paginar
private $numPages; //Numero total de paginas
private $puri; //Parte de la uri a agregar a la url inicial
private $url; //Url de la página que se desea hacer la paginación
private $classLink;
public function __construct($quantity, $page) {
//Validamos la entrada de datos
settype($page, "integer");
settype($quantity, "integer");
$this->page = ($page > 0) ? $page : 0;
$this->quantity = ($quantity > 0) ? $quantity : 0;
$this->from = $page * $quantity;
}
public function getFrom()
{
return $this->from;
}
public function generaPaginacion($totalRows, $back, $next, $url, $class = "")
{
settype($totalRows, "integer");
$this->totalRows = $totalRows;
$this->lassLink = $class;
$url=preg_replace('[\&*\&]', '&', $url); //Quita las && = & repetidas
$url=preg_replace('[\?\&]', '?',$url); //Quita ?& = ?
$this->url = $url;
$this->numPages = ceil($totalRows/$this->quantity);
if ($this->page > 0) {
$this->puri = $this->page - 1;
echo "<a href=\"$this->url&page=$this->puri\">$back</a>";
}
if ($this->numPages > 1) {
for ($i = 0; $i < $this->numPages; $i++) {
if ($i == $this->page) {
echo "<span class=\"actualPage\">$i</span>";
}
elseif ($i == $this->page + 1 || $i == $this->page + 2 || $i == $this->page - 1
|| $i == $this->page - 2 || $i == 0 || $i == ($this->numPages - 1)) {
//$page + 1, $page +2 son los numeros que se desea ver por delante del actual
//$page -1, $page -2 son los numeros (Links) a ver por detras del actual
//Esto se puede modificar como se desee
echo " <a class=\"$class\" href=\"$this->url&page=$i\">$i</a> ";
}
elseif ($i == $this->page - 3) {
echo "<span>...</span>";
}
elseif ($i == $this->page + 3) {
echo "<span>...</span>";
}
}
}
if ($this->page < $this->numPages - 1) {
$this->puri = $this->page + 1;
echo "<a href=\"$this->url&page=$this->puri\">$next</a>";
}
}
}
?>