Hola a todos , es la primera vez que posteo en este foro , a ver si vosotros podeis ayudarme. Estoy haciendo una web para practica en la que a traves de un formulario consulto la base de datos mysql. Si no pongo ninguna opcion me da todos los resultados y me los pagina perfectamente , pero si le indico por ejemplo que me de los resultados de un determinado tipo me da los primeros resultados pero cuando le doy a la pagina siguiente no me da los siguientes resultados. Creo que el problema es con la variable que me la pasa a traves del formulario pero cuando llamas en el paginador a la siguiente pagina se pierde esa variable con lo cual no me da los siguientes resultados y es que no tengo ni idea de como hacer que esa variable permanezca durante todas las llamadas mientras yo no la cambie en el formulario . Dejo aqui el codigo para veais mas o menos lo que hago y a ver si vosotros me podeis ayudar a solucionarlo. Muchisimas gracias a todos.
El formulario de busqueda seria algo asi:
Código:
<form name="busqueda" action="intento.php" method="post" enctype="application/x-www-form-urlencoded">
<TABLE WIDTH=248 BORDER=0 CELLPADDING=0 CELLSPACING=0>
<TR>
<TD background="images/a_17.jpg" WIDTH=248 ALT="" valign="top"> <div class="text" style="color:000000; font-size:11px; padding-left:25">
<p align="center"><strong>Opción<br>
<select name="Opcion" id="Opcion" STYLE="WIDTH:120">
<option value="0" selected>Todos</option>
<option value="guitarra">Guitarra</option>
<option value="bajo">Bajo</option>
</select>
<br>
</strong><strong>Tipo<br>
<select name="Marca" id="Tipo" STYLE="WIDTH:120">
<option value="0" selected>Todos</option>
<option value="Fender">Fender</option>
<option value="Gibson">Gibson</option>
<option value="Ibanez">Ibanez</option>
<option value="Washburn">Washburn</option>
<option value="Tyler">Tyler</option>
<option value="Framus">Framus</option>
<option value="Suhr">Suhr</option>
<option value="Warwick">Warwick</option>
</select>
<br>
Precio<br>
</strong><strong></strong><strong></strong><strong>
<select name="Precio" id="Precio" STYLE="WIDTH:120">
<option value="0">Todos</option>
<option value="600">Menos de 600 €</option>
<option value="1000">Menos de 1.000€</option>
<option value="2000">Menos de 2.000€</option>
<option value="3000">Menos de 3.000 €</option>
<option value="5000">Menos de 5.000 €</option>
</select>
</p>
</div></TD>
</TR>
<TR>
<TD WIDTH=248 HEIGHT=38><A HREF="javascript:document.forms.busqueda.submit();">BUSCAR</A></TD>
</TR>
</div>
</TABLE>
</form>
Y la pagina a la que llama el formulario "intento.php" seria algo asi:
Código:
<html>
<head>
<title>Páginación de resultados</title>
</head>
<body bgcolor=#FFFFFF>
<?
// Datos de conexión a la base
$base="datos";
$con=mysql_connect(servidor,user,password);
mysql_select_db($base,$con);
if (!isset($pg))
$pg = 0; // $pg es la pagina actual
$cantidad=10; // cantidad de resultados por página
$inicial = $pg * $cantidad;
$pegar = "SELECT * FROM datos WHERE marca= '$Marca' LIMIT $inicial,$cantidad";
$cad = mysql_db_query($base,$pegar) or die (mysql_error());
$contar = "SELECT * FROM datos WHERE marca='$Marca' ";
$contarok= mysql_db_query($base,$contar);
$total_records = mysql_num_rows($contarok);
$pages = intval($total_records / $cantidad);
echo "<table align=center bgcolor=#FCF1C7 bordercolor=black border=2 >";
while ($registro = mysql_fetch_row($cad)){
# insertamos un salto de línea en la tabla HTML
echo "<tr align=center height= 45px>";
# establecemos el bucle de lectura del ARRAY
# con los resultados de cada LINEA
# y encerramos cada valor en etiquetas <td></td>
# para que aparezcan en celdas distintas de la tabla
foreach($registro as $clave){
echo "<td>",$clave,"</td>";
}
}
echo "</table>";
// Cerramos la conexión a la base
$con=mysql_close($con);
// Creando los enlaces de paginación
echo "<p class=fonty>";
if ($pg != 0) {
$url = $pg - 1;
echo "<a href='$PHP_SELF?pg=".$url."'>« Anterior</a> ";
} else {
echo " ";
}
for ($i = 0; $i <= $pages; $i++) {
if ($i == $pg) {
if ($i == "0") {
echo "<b> 1 </b>";
} else {
$i = $i+1;
echo "<b> ".$i." </b>";
}
} else {
if ($i == "0") {
echo "<a href=$PHP_SELF?pg=".$i.">1</a> ";
} else {
echo "<a href='$PHP_SELF?pg=".$i."'>";
$i = $i+1;
echo $i."</a> ";
}
}
}
if ($pg < $pages) {
$url = $pg + 1;
echo "<a href='$PHP_SELF?pg=".$url."'>Siguiente »</a>";
} else {
echo " ";
}
echo "</p>";
?>
</body>
</html>
Espero que podais ayudarme , muchisimas gracias.