Bueno si, tienes un poco de razón en lo que dices... Pero de echo se me presentó un problema el cual he buscado y buscado y no he resuelto, pues no consigo el error por mas que le doy vueltas y aqui esta algo parecido pero no me funciona por alguna razón....
Al mismo buscador le he ingresado un paginador de resultados para cuando el llegue a 10 me diga siguiente y asi no se muestre tanto... pero al darle a siguiente, el mismo no me conserva el criterio de busqueda y sale como si no hubiese buscado absolutamente nada...
Consylta
Código PHP:
<?php
@$busqueda = $_POST["for"] ;
@$base = $_POST["base"] ;
//cadena de conexion
$conexion = mysql_connect("localhost","morr0113_admin","morro2012");
mysql_select_db("morr0113_2012", $conexion);
//DEBO PREPARAR LOS TEXTOS QUE VOY A BUSCAR si la cadena existe
if ($busqueda<>''){
//Mostramos los titulos de los articulos o lo que deseemos...
$trozos=explode(" ",$busqueda);
$cadbuscar = array();
$maxRows = 10;
$pageNum = 0;
if (isset($_GET['pageNum'])) {
$pageNum = $_GET['pageNum'];
}
$startRow = $pageNum * $maxRows;
foreach($trozos as $palabra){
$cadbuscar[] = "descripcion LIKE '%$palabra%' OR titulo LIKE '%$palabra%'";
}
$query = sprintf("SELECT descripcion, titulo, id FROM %s WHERE ",$base) ;
$query .= implode(' or ', $cadbuscar);
//$query .= " LIMIT 20";
$query_limit = sprintf("%s LIMIT %d, %d", $query, $startRow, $maxRows);
$result=mysql_query($query_limit, $conexion) or die(mysql_error());
if (isset($_GET['totalRows'])) {
$totalRows = $_GET['totalRows'];
} else {
$all = mysql_query($query);
$totalRows = mysql_num_rows($all);
}
$totalPages = ceil($totalRows/$maxRows)-1;
$queryString = "";
if (!empty($_SERVER['QUERY_STRING'])) {
$params = explode("&", $_SERVER['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum") == false &&
stristr($param, "totalRows") == false) {
array_push($newParams, $param);
}
}
if (count($newParams) != 0) {
$queryString = "&" . htmlentities(implode("&", $newParams));
}
}
$queryString = sprintf("&totalRows1=%d%s", $totalRows, $queryString);
}
Muestro los resultados
Código PHP:
<?php While($row=mysql_fetch_object($result)) {
//muestras resultados
if ($base=="hoteles") {
$descripcion=$row->descripcion;
$titulo=$row->titulo;
$id=$row->id;
echo " - <a href='detalhotel.php?id=".$id."'>".$titulo."</a><span class='buscador2'> ".$descripcion."</span><br />";
}
if ($base=="rest") {
$descripcion=$row->descripcion;
$titulo=$row->titulo;
$id=$row->id;
echo " - <a href='detalrest.php?id=".$id."'>".$titulo."</a><span class='buscador2'> ".$descripcion."</span><br />";
}
if ($base=="pecuaria") {
$descripcion=$row->descripcion;
$titulo=$row->titulo;
$id=$row->id;
echo " - <a href='detalpec.php?id=".$id."'>".$titulo."</a><span class='buscador2'> ".$descripcion."</span><br />";
}
if ($base=="nautica") {
$descripcion=$row->descripcion;
$titulo=$row->titulo;
$id=$row->id;
echo " - <a href='detalnautica.php?id=".$id."'>".$titulo."</a><span class='buscador2'> ".$descripcion."</span><br />";
}
if ($base=="embarcaderos") {
$descripcion=$row->descripcion;
$titulo=$row->titulo;
$id=$row->id;
echo " - <a href='detalemb.php?id=".$id."'>".$titulo."</a><span class='buscador2'> ".$descripcion."</span><br />";
}
if ($base=="eventos") {
$descripcion=$row->descripcion;
$titulo=$row->titulo;
$id=$row->id;
echo " - <a href='detaleventos.php?id=".$id."'>".$titulo."</a><span class='buscador2'> ".$descripcion."</span><br />";
}
if ($base=="emergencias") {
$descripcion=$row->descripcion;
$titulo=$row->titulo;
$id=$row->id;
echo " - <a href='detalemergencias.php?id=".$id."'>".$titulo."</a><span class='buscador2'> ".$descripcion."</span><br />";
}
if ($base=="clasificados") {
$descripcion=$row->descripcion;
$titulo=$row->titulo;
$id=$row->id;
echo " - <a href='detalcla.php?id=".$id."'>".$titulo."</a><span class='buscador2'> ".$descripcion."</span><br />";
}
}
?>
y finalmente pagino
Código PHP:
<?php if ($pageNum > 0) { // Show if not first page ?>
<a href="<?php printf("%s?pageNum=%d%s", $currentPage, 0, $queryString); ?>">Primero</a>
<?php } // Show if not first page ?></td>
<td width="29%" align="center"><?php if ($pageNum > 0) { // Show if not first page ?>
<a href="<?php printf("%s?pageNum=%d%s", $currentPage, max(0, $pageNum - 1), $queryString); ?>">Anterior</a>
<?php } // Show if not first page ?></td>
<td width="25%" align="center"><?php if ($pageNum < $totalPages) { // Show if not last page ?>
<a href="<?php printf("%s?pageNum=%d%s", $currentPage, min($totalPages, $pageNum + 1), $queryString); ?>">Siguiente</a>
<?php } // Show if not last page ?></td>
<td width="23%" align="center"><?php if ($pageNum < $totalPages) { // Show if not last page ?>
<a href="<?php printf("%s?pageNum=%d%s", $currentPage, $totalPages, $queryString); ?>">Último</a>
<?php } // Show if not last page ?>