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 , por la gran cantidad de resultados que se muestran tengo que paginar, así que descargué el código de un compañero (muchas gracias al autor por compartirlo...) y trabajando con él logro mostrar la primera página perfecto, pero al pinchar a la segunda, tercera, etc... dice que no encuentra ningún resultado ¿? , además los resultados llevan un bg y un hover específico, pero me gustaría que los resultados que están destacados mostrarlos con otro color de bg y otro color de hover y no se me ocurre como puedo hacer esto de cambiar en los mismos resultados de una consulta con diferente color ¿?....
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>";
}
}
}
?>