Foros del Web » Programando para Internet » PHP »

Paginar con cuadro de búsqueda

Estas en el tema de Paginar con cuadro de búsqueda en el foro de PHP en Foros del Web. Hola a todos, es la primera vez que escribo en el foro y espero que me puedan ayudar... Estoy paginando un código php en el ...
  #1 (permalink)  
Antiguo 12/11/2010, 18:19
 
Fecha de Ingreso: noviembre-2010
Mensajes: 4
Antigüedad: 14 años
Puntos: 0
Paginar con cuadro de búsqueda

Hola a todos, es la primera vez que escribo en el foro y espero que me puedan ayudar...
Estoy paginando un código php en el que recibo unos datos mediante un cuadro de búsqueda con desplegables.
Mi problema surge cuando pincho en la página 2,3,4 que no me aparecen el resto de anuncios, es como sino guardase los datos del cuadro de búsqueda...
En fin, pongo el código y a ver si me pueden ayudar...

Código:
Código PHP:
<HTML>
<head>
</head

<div id="content">

<div id="adsense_menu">
</div>

<div id="adsense">
</div>

<div id="buscador_de_coches">

<?php include ("conexion.php");?>

<form method="POST" action="anuncios.php">

Marca:<br>
<select name="marca">

<?php

    $sql 
"select * from marcas";
                  
    
$ql mysql_query($sql,$link) or die(mysql_error());
                  
    while(
$g mysql_fetch_array($ql)){

    echo 
'<option value="'.$g['idmarca'].'">'.$g['marca'].'</option>';
                  
    }

?>
</select>
<br><br>
Ciudad:<br>

<select name="ciudad">

<?php

    $sql 
"select * from ciudades";
                  
    
$ql mysql_query($sql,$link) or die(mysql_error());
                  
    while(
$g mysql_fetch_array($ql)){

    echo 
'<option value="'.$g['idciudad'].'">'.$g['ciudad'].'</option>';
                  
    }

?>
</select>
<br><br>

Precio:<br>
        
<select name="precio1">  

<!--Desde-->

<option value="0">Desde...</option>
<option value="1">0&euro;</option>  
<option value="1000">1000&euro;</option> 
<option value="2000">2000&euro;</option>    
<option value="3000">3000&euro;</option>  
<option value="4000">4000&euro;</option>  
<option value="5000">5000&euro;</option> 
<option value="6000">6000&euro;</option>   
<option value="7000">7000&euro;</option>  
<option value="8000">8000&euro;</option>  
<option value="9000">9000&euro;</option> 
<option value="10000">10000&euro;</option> 
<option value="12000">12000&euro;</option> 
<option value="14000">14000&euro;</option>
<option value="16000">16000&euro;</option> 
<option value="18000">18000&euro;</option> 
<option value="20000">20000&euro;</option> 
<option value="25000">25000&euro;</option> 
<option value="30000">30000&euro;</option> 
<option value="35000">35000&euro;</option> 
<option value="40000">40000&euro;</option> 
<option value="50000">50000&euro;</option> 
<option value="60000">60000&euro;</option> 
<option value="70000">70000&euro;</option>  

</select>

<!--Hasta-->

<select name="precio2"> 
 
<option value="1000000">Hasta...</option> 
<option value="1000">1000&euro;</option> 
<option value="2000">2000&euro;</option>    
<option value="3000">3000&euro;</option>  
<option value="4000">4000&euro;</option>  
<option value="5000">5000&euro;</option> 
<option value="6000">6000&euro;</option>   
<option value="7000">7000&euro;</option>  
<option value="8000">8000&euro;</option>  
<option value="9000">9000&euro;</option> 
<option value="10000">10000&euro;</option> 
<option value="12000">12000&euro;</option> 
<option value="14000">14000&euro;</option>
<option value="16000">16000&euro;</option> 
<option value="18000">18000&euro;</option> 
<option value="20000">20000&euro;</option> 
<option value="25000">25000&euro;</option> 
<option value="30000">30000&euro;</option> 
<option value="35000">35000&euro;</option> 
<option value="40000">40000&euro;</option> 
<option value="50000">50000&euro;</option> 
<option value="60000">60000&euro;</option> 
<option value="70000">70000&euro;</option>  
<option value="100000">100000&euro;</option>  

</select>

<br><br>
            
<input type="SUBMIT" align="center" value="buscar coche">

</form>

<?php

# aqui se extrae la cantidad de registros totales
$rsC mysql_query("Select count(*) from coches");
$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;    
}
 

$idmarca $_POST['marca'];
$idciudad $_POST['ciudad'];
$precio $_POST['precio1'];
$precio $_POST['precio2'];
 
$rs mysql_query("select * from coches INNER JOIN ciudades ON coches.idciudad = ciudades.idciudad INNER JOIN marcas ON coches.idmarca = marcas.idmarca INNER JOIN modelos ON coches.idmodelo = modelos.idmodelo WHERE coches.idmarca = '$idmarca' AND coches.idciudad = '$idciudad' AND precio>='$precio1' AND precio<='$precio2' limit $desde,$hasta");
if(
$count!=0){
 while(
$registro=mysql_fetch_array($rs)){

?>

<?php
$nombre 
$registro['imagen1']; 
$id $registro['id']; 
?>

<div id="cada_coche">

<img style="border:1px solid #D5D5D5;" align=left height="60" width="80" vspace="4" hspace="10"src="/anunciar-coches/upload/<?php echo $nombre;?>" width="100" height="75"/>
<b><a href="/coches-de-segunda-mano/detalle-coche.php?id_coche=<?php echo $id;?>">Se vende&nbsp;<?php echo $registro['marca']; ?>&nbsp;<?php echo $registro['modelo']; ?></a></b><br>
<?php echo htmlentities($registro['ciudad']); ?> 
Precio:&nbsp;<?php echo $registro['precio']; ?>&nbsp;&euro;&nbsp;
Fecha:&nbsp;<?php echo $registro['date']; ?>&nbsp;<br>
<?php
// Inicializamos las variables
$tamano 75// tamaño máximo
$contador 0;
$texto htmlentities($registro['descripcion']);
 
// Cortamos la cadena por los espacios
$arrayTexto split(' ',$texto);
$texto '';
 
// Reconstruimos la cadena
while($tamano >= strlen($texto) + strlen($arrayTexto[$contador])){
    
$texto .= ' '.$arrayTexto[$contador];
    
$contador++;
}
echo 
$texto?>...
</div>
<br><br><br><br>

<?php
 
}
}
else{
 echo 
"No tenemos registros.";    
}
mysql_close($link);
?>

<?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>";
    }
}
?>
  #2 (permalink)  
Antiguo 13/11/2010, 03:05
 
Fecha de Ingreso: noviembre-2010
Mensajes: 4
Antigüedad: 14 años
Puntos: 0
Respuesta: Paginar con cuadro de búsqueda

Lo he intentado pero es imposible, he estado por todo google y la información para lo que busco es prácticamente nula, y la que hay no le han dado una solución aceptable...
Alguien que me pueda orientar?
  #3 (permalink)  
Antiguo 13/11/2010, 08:17
Avatar de luckystrikede11  
Fecha de Ingreso: octubre-2009
Ubicación: Concepcion, Chile
Mensajes: 240
Antigüedad: 15 años, 1 mes
Puntos: 17
Respuesta: Paginar con cuadro de búsqueda

cuando recibes la variables por GET creo que deberia estar antes y fuera del else, verfica tambien que la consulta SQL si recibe bien los valores de paginacion
__________________
www.jcabezas.net
  #4 (permalink)  
Antiguo 13/11/2010, 08:41
 
Fecha de Ingreso: noviembre-2010
Mensajes: 4
Antigüedad: 14 años
Puntos: 0
Respuesta: Paginar con cuadro de búsqueda

He probado lo que me has dicho y nada...de todas formas creo que lo que hacer falta sería algo que mantuviese las variables que recojo de las busquedas...la única opcion que veo es pasarlo por la url pero eso no me gusta nada para las url amigables...si a alguien se le ocurre otra opción...soy todo oidos!!

Etiquetas: cuadro, paginar
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 21:31.