Foros del Web » Programando para Internet » PHP »

Mostrar resultados de consulta

Estas en el tema de Mostrar resultados de consulta en el foro de PHP en Foros del Web. Hola maestros; Estoy haciendo una consulta a través de un formulario que me da 3 variables a tener en cuenta para la consulta y al ...
  #1 (permalink)  
Antiguo 22/05/2012, 04:37
Avatar de vcarr  
Fecha de Ingreso: marzo-2011
Mensajes: 29
Antigüedad: 13 años, 1 mes
Puntos: 1
Pregunta Mostrar resultados de consulta

Hola maestros;

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>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <? echo (($row['tit'])); ?> <div id="e69">   <? echo ($row['precio']); ?> &euro;     </div>      <div id="e70">
             
           &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <? echo ($row['autor']);?>  habit.  
                
                &nbsp;&nbsp │&nbsp;&nbsp; <? echo utf8_encode(($row['text']));?>  </div>
                     
                <div id="e71">    </div>        </div> </div>  
  
                      
                    </td> 
                        
                            </tr>  
                        
                             

 <tr> 
            <td height="0"></td> 
          </tr> 
                            
                            
                            </td> 
      
    </tr> 


<tr> 
      <td>&nbsp;</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 "&laquo;Atras";
    
$next "Siguiente&raquo;";
    
    
$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 || $i == $this->page || $i == $this->page 1
                
|| $i == $this->page || $i == || $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>";
        }
    }
    
}
?>

Etiquetas: formulario, mysql, registro, resultados, sql, tabla, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:54.