Foros del Web » Programando para Internet » PHP »

Montar un buscador.

Estas en el tema de Montar un buscador. en el foro de PHP en Foros del Web. Hola quiero montar un buscador, y lo tengo hecho usando match, luego por otro lado tengo el paginador de jpinedo. el problema es que cuando ...
  #1 (permalink)  
Antiguo 16/04/2007, 13:31
 
Fecha de Ingreso: agosto-2006
Mensajes: 219
Antigüedad: 17 años, 8 meses
Puntos: 0
Montar un buscador.

Hola quiero montar un buscador, y lo tengo hecho usando match, luego por otro lado tengo el paginador de jpinedo.

el problema es que cuando pincho en las páginas 2 o posteriores me da un error porque la variable de la búsqueda se intenta recargar, en vez de usar los valores de la primera búsqueda.

¿Alguien ha solucionado esto?

gracias

oskar calvo.
  #2 (permalink)  
Antiguo 16/04/2007, 15:36
 
Fecha de Ingreso: abril-2006
Ubicación: Colombia
Mensajes: 648
Antigüedad: 18 años
Puntos: 3
Re: Montar un buscador.

HOla

No he visto el codigo que usas ,pero yo he hecho buscadores y pues le envio en el paginador una variable que sea la de busqueda, y asi al pasar a la siguiente página pongo que si esa variable esta diferente de vacio se haga la consulta con dicha variable, y asi me funciona, prueba a hacer eso a ver si te funciona
__________________
Suerte.
_______________________________
"La vida es el principio de la muerte".
  #3 (permalink)  
Antiguo 16/04/2007, 15:47
 
Fecha de Ingreso: agosto-2006
Mensajes: 219
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Montar un buscador.

mi código es el siguiente:

formulario de busqueda:

Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<?php
require ("conectarbbdd3.php");
require ("menuarbol.php");
require ("menu_descriptores.php");
?>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Buscador</title>

<link rel="stylesheet" type="text/css" href="../daniel/css/estilo.css">

</head>

<body>
<table align="center" width="100"><tr><td>
<fieldset><legend>Buscador</legend>
<form action="buscador2.php" method="post" enctype="multipart/form-data" name="buscador">
<p><label for="buscar">Buscar:</label><input type="text" name="buscar" valude="buscar" size="25" ></p>
<p><input type="submit" value="buscar"></p>
</form></fieldset>
</td></tr>
</table>
</body></html>
el código php que recoge la variable.

Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<?php
require ("conectarbbdd3.php");
require (
"menuarbol.php");
require (
"menu_descriptores.php");
?>

<html><head>
<title>Resultados de b&aucute;squeda</title>
</head>
<body>
<?php

$buscar
=$_POST['buscar'];
?>

<?php
$_pagi_sql
="SELECT titulo, descripcion, clasificacion , MATCH(titulo, descripcion, clasificacion) AGAINST ('$buscar') as Score FROM principal WHERE MATCH(titulo, descripcion, clasificacion) AGAINST ('$buscar') ORDER BY Score DESC";
//cantidad de resultados por página (opcional, por defecto 20)
$_pagi_cuantos 2;//Elegí un número pequeño para que se generen varias páginas

//cantidad de enlaces que se mostrarán como máximo en la barra de navegación
$_pagi_nav_num_enlaces 3;//Elegí un número pequeño para que se note el resultado

//Decidimos si queremos que se muesten los errores de mysql
$_pagi_mostrar_errores false;//recomendado true sólo en tiempo de desarrollo.

//Si tenemos una consulta compleja que hace que el Paginator no funcione correctamente, 
//realizamos el conteo alternativo.
$_pagi_conteo_alternativo true;//recomendado false.

//Supongamos que sólo nos interesa propagar estas dos variables
$_pagi_propagar = array("id","termino");//No importa si son POST o GET

//Definimos qué estilo CSS se utilizará para los enlaces de paginación.
//El estilo debe estar definido previamente
$_pagi_nav_estilo "paginacion";

//definimos qué irá en el enlace a la página anterior
$_pagi_nav_anterior "&lt;";// podría ir un tag <img> o lo que sea

//definimos qué irá en el enlace a la página siguiente
$_pagi_nav_siguiente "&gt;";// podría ir un tag <img> o lo que sea

//Incluimos el script de paginación. Éste ya ejecuta la consulta automáticamente
include("paginator.inc.php");

//Leemos y escribimos los registros de la página actual
while($row mysql_fetch_array($_pagi_result)){
echo 
"<table align=\"center\"><tr><td width=\"600px\"><fieldset><legend>";
echo 
$row['titulo'];
echo 
"</lengend><p><label>localización:</label>";
echo 
"</p><p><label>Clasificación:</label>";
echo 
$row['clasificacion'];
echo 
"</p><p><label>Descripcion:</label>";
echo 
$row['descripcion'];
echo 
"</p></fieldset></td></tr></table>"
}
//Incluimos la barra de navegación
echo'<p align="center">'.$_pagi_navegacion.'<p>';
//Incluimos la información de la página actual
echo'<p align="center">Proyectos'.$_pagi_info.'</p>';
?>
</body>
</html>
a ver si me puedes ayudar,

gracias

oskar calvo.

Última edición por oskar_calvo; 16/04/2007 a las 15:55
  #4 (permalink)  
Antiguo 16/04/2007, 16:42
 
Fecha de Ingreso: abril-2006
Ubicación: Colombia
Mensajes: 648
Antigüedad: 18 años
Puntos: 3
Re: Montar un buscador.

Hola

Pues bueno, yo creo que lo que debes cambiar es algo de paginator.inc.php, que es donde se hace la consulta, y alli le enviarias el limit de la consulta, y pues al dar click en siguiente o en lo que tengas para pasar al siguiente que se haga la misma consulta pero con el limit, no se si tenga algo raro que hacerse con el against pues yo lo hago asi pero con consultas sin against y me funciona. espero te funcione
__________________
Suerte.
_______________________________
"La vida es el principio de la muerte".
  #5 (permalink)  
Antiguo 17/04/2007, 00:44
 
Fecha de Ingreso: agosto-2006
Mensajes: 219
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Montar un buscador.

gracias, voy a ver si consigo descubrir como funciona el paginador.

un saludo

oskar calvo
  #6 (permalink)  
Antiguo 17/04/2007, 01:46
 
Fecha de Ingreso: agosto-2006
Mensajes: 219
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Montar un buscador.

estoy mirando y creo que la solucción sería poder llevarme la variable, aunque si me la llevo como una variable de sesión cuando haga una nueva búsqueda tendría que destruirla primero. y eso es mucho más complicado.

¿alguien tiene alguna sugerencia para este problemilla?


oskar calvo
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 19:43.