Ver Mensaje Individual
  #5 (permalink)  
Antiguo 01/08/2010, 14:39
lovecom45
 
Fecha de Ingreso: septiembre-2008
Mensajes: 66
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: paginar resultados de consuilta sql

Cita:
Iniciado por Nemutagk Ver Mensaje
Eh.... y donde esta el código CSS, el HTML resultante?
Código PHP:

<?php
########################################################
## PAGINAR REGISTROS
## POR: Marco A. Castillo
## EMAIL: [email protected]
########################################################
 
# Funcion para conectar a la base de datos
function conectar($host,$user,$pass,$db){
$link = @mysql_connect($host,$user,$pass) or die("Error Conectando a la Base de datos");
@
mysql_select_db($db,$link) or die("Error Seleccionando base de datos.");
return 
$link;
}
 
$host "localhost";
$user "****";
$pass "******";
$db "mall";
 
# Se crea la variable $link que es para identificar la coneccion
# a la base de datos
$link conectar($host,$user,$pass,$db);
 
# aqui colocan la tabla que se utilizara para
# extraer los registros y paginarlos
$tabla "empresas";
#Campo donde se introduce el texto a buscar
$campo ="velas";
 
# aqui se extrae la cantidad de registros totales
$rsC mysql_query("SELECT * FROM empresas WHERE MATCH(empresa,giro) AGAINST ('$campo') ORDER BY paquete");
$resultC mysql_fetch_array($rsC);
$count $resultC[0];
 
# Aqui se pone la cantidad de registros por pagina
# que se quieren mostrar
$hasta 5;
 
if(
$pag==""){
 
$desde 0;
 
$pag 1;    
}
else{
 
$pag $_GET["pag"];
 
$pagS $pag 1;
 
$desde $hasta $pagS;    
}
 
$rs mysql_query("SELECT * FROM  empresas  limit $desde,$hasta");
if(
$count!=0){
 
 echo
"  <div id='TSAccordion1' name='TSAccordion1' >
 <script>TSAccordionLoad('TSAccordion1','recuadro','descripcion');</script>"
;
 
 while(
$result=mysql_fetch_array($rs)){
     
extract($result);
  
# Aqui colocan su tabla html y sus datos a mostrar
  # solo se usa el array $result[""] y entre comillas
  # el nombre de la celda a mostrar.
  
    
      
  
echo "
              
            <div class='recuadro'>
          <div id='fotoart'><img src='$foto' width='100' height='100' /></div>
          <div id='datosart'>$empresa<br />
            $giro<br />
            $email<br />
            tel:$telefono</div>
          <div id='selloart'><img src='sello.png' width='78' height='65' /><a href='#'></a></div>
        </div>
        <div class='descripcion'>$descripcion<br />
        </div>"
;

    
    
    
        
  
# fin del despliegue personalizado.
 
}
}
else{
 echo 
"No tenemos registros.";    
}
mysql_close($link);
 
?>

<table width="700" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td colspan="2"><?php 
# aqui se llama a la funcion que muestra los links por paginas
# la variable $extra_variables es para anexar mas variables al url
# si es necesario para los querys que hagan.
# Solo se debe concatenar los datos nombre1=valor1&nombre2=value2
# NOTA: puede ubicar en cualquier parte de su codigo esta funcion
# para que aparesca dentro de la celda que desee.
# link totales es una variable al ser definida le dices a la funcion
# cuantos links quieres que aparescan por pantalla ya que si tienes
# 100 paginas no deberas ver los 100 links y solo muestres los necesarios
$link_totales 4;
# se llama la funcion paginar
# los links si tiene un css podran tomar la estructura y color que le pongas
## Inicia Paginador
paginar($count,$hasta,$pag,$link_totales,$extra_variables);
 
# Funcion paginar
# Inicia
function paginar($count,$hasta,$pag,$link_totales,$extra_variables){
    if(
$link_totales==1)$link_totales=2;
    
$links $count $hasta;
    
$arriba $link_totales 2;
    
$abajo $pag 1;
    if(
$abajo==0)$abajo 1;
    
$temp_r $links $pag;
    if(
$temp_r>=$arriba){
     
$link_break $pag $arriba;
    }
    else{
     
$link_break $links;
     
$abajo $pag $arriba;
     if(
$pag==$links-1)$abajo $pag $arriba;
     if(
$pag==$links)$abajo $pag $arriba;
    }
 
    if(
$pag==1)$link_break $link_totales;
    if(
$abajo==0)$abajo=1;
    if(
strlen($extra_variables)!=0$extra_variables "&".$extra_variables;
 
    if(
$pag==1){
     
$anterior 1;    
    }
    else{
    
$anterior $pag 1;    
    }
    if(
$pag!=1){
    echo 
"<a href=".$_SERVER['PHP_SELF']."?pag=".$anterior.$extra_variables."><< Anterior | </a>";
    }
 
    for(
$i=$abajo;$i<=$links;$i++){
     if(
$link_break<$i){
      break;
     }
     else{
        if(
$pag==$i){
        echo 
$i." | ";    
        }
        else{
        echo 
"<a href='".$_SERVER['PHP_SELF']."?pag=".$i.$extra_variables."'>";
        echo 
$i;
        echo 
" | </a>";
        }
     }
    }
    if(
$pag==$links){
    
$siguiente $links;
    }
    else{
    
$siguiente $pag 1;
    }
    if(
$pag!=$links){
    echo 
"<a href=".$_SERVER['PHP_SELF']."?pag=".$siguiente.$extra_variables.">Siguiente >></a>";
    }
}
?> </td>
  </tr>
</table>

Código PHP:
{
 
 echo
"  <div id='TSAccordion1' name='TSAccordion1' >
 <script>TSAccordionLoad('TSAccordion1','recuadro','descripcion');</script>"
;
 
 while(
$result=mysql_fetch_array($rs)){
     
extract($result);
  
# Aqui colocan su tabla html y sus datos a mostrar
  # solo se usa el array $result[""] y entre comillas
  # el nombre de la celda a mostrar.
  
    
      
  
echo "
              
            <div class='recuadro'>
          <div id='fotoart'><img src='$foto' width='100' height='100' /></div>
          <div id='datosart'>$empresa<br />
            $giro<br />
            $email<br />
            tel:$telefono</div>
          <div id='selloart'><img src='sello.png' width='78' height='65' /><a href='#'></a></div>
        </div>
        <div class='descripcion'>$descripcion<br />
        </div>"
;

    
    
    
        
  
# fin del despliegue personalizado.
 
}


esto sería el output
mira la idea es que salga asi
http://mexicodf.no-ip.biz/mall/busqueda.php
(introduce la palabra "velas" y así se tendría wue ver me refiero al efecto acordeón

y este es el que trato de poner bien igual pero no funciona el paginador y no me respeta el efecto acordeon.

http://mexicodf.no-ip.biz/mall/xbusqueda.php
(Este es el resultado del codigo posteado)

La hoja de estilos la tengo en el directorio la cual aplica los estilos para las divs "recuadro", "fotoart", "datposart" "TSAccordion1"