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€</option>
<option value="1000">1000€</option>
<option value="2000">2000€</option>
<option value="3000">3000€</option>
<option value="4000">4000€</option>
<option value="5000">5000€</option>
<option value="6000">6000€</option>
<option value="7000">7000€</option>
<option value="8000">8000€</option>
<option value="9000">9000€</option>
<option value="10000">10000€</option>
<option value="12000">12000€</option>
<option value="14000">14000€</option>
<option value="16000">16000€</option>
<option value="18000">18000€</option>
<option value="20000">20000€</option>
<option value="25000">25000€</option>
<option value="30000">30000€</option>
<option value="35000">35000€</option>
<option value="40000">40000€</option>
<option value="50000">50000€</option>
<option value="60000">60000€</option>
<option value="70000">70000€</option>
</select>
<!--Hasta-->
<select name="precio2">
<option value="1000000">Hasta...</option>
<option value="1000">1000€</option>
<option value="2000">2000€</option>
<option value="3000">3000€</option>
<option value="4000">4000€</option>
<option value="5000">5000€</option>
<option value="6000">6000€</option>
<option value="7000">7000€</option>
<option value="8000">8000€</option>
<option value="9000">9000€</option>
<option value="10000">10000€</option>
<option value="12000">12000€</option>
<option value="14000">14000€</option>
<option value="16000">16000€</option>
<option value="18000">18000€</option>
<option value="20000">20000€</option>
<option value="25000">25000€</option>
<option value="30000">30000€</option>
<option value="35000">35000€</option>
<option value="40000">40000€</option>
<option value="50000">50000€</option>
<option value="60000">60000€</option>
<option value="70000">70000€</option>
<option value="100000">100000€</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 <?php echo $registro['marca']; ?> <?php echo $registro['modelo']; ?></a></b><br>
<?php echo htmlentities($registro['ciudad']); ?>
Precio: <?php echo $registro['precio']; ?> €
Fecha: <?php echo $registro['date']; ?> <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 + 1 - $arriba;
if($pag==$links-1)$abajo = $pag - $arriba;
if($pag==$links)$abajo = $pag - 1 - $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>";
}
}
?>