Foros del Web » Programando para Internet » PHP »

Buscador

Estas en el tema de Buscador en el foro de PHP en Foros del Web. Hola Amigos: Estoy tratando de hacer un buscador en php , con un formulario html en metodo post pero mi duda esta es como hacerlo ...
  #1 (permalink)  
Antiguo 14/10/2005, 14:11
 
Fecha de Ingreso: abril-2005
Mensajes: 73
Antigüedad: 19 años
Puntos: 0
Buscador

Hola Amigos:

Estoy tratando de hacer un buscador en php , con un formulario html en metodo post pero mi duda esta es como hacerlo funcionar desde el submit del formulario para que la sentencia select se me ejecute en el php y se me despliege la lista de de datos.

Si alguien me puede ayudar ...GRACIAS!!!!!!!
  #2 (permalink)  
Antiguo 14/10/2005, 14:24
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Tu formulario HTML .. apunta tu action= .. al script de proceso que va a realizar tu consulta SQL ..

Tu consulta SQL cara a PHP es un "string" (cadena) más .. compon esa sentencia SQL con el dato que tomas de tu formulario y ejecutala para obtener sus resultados ..

No sé que BD usas (Mysql? .. ) pero sería algo tipo:

Código PHP:
<?
// conectas a tu BD . .seleccionas la BD a trabajar . .etc

$sql="SELECT * FROM tabla WHERE campo='".$_POST['buscar']."'";
$resultado=mysql_query($sql) or die (mysql_error());
// etc ...
?>
Siendo "buscar" el nombre de tu campo de tu formulario para buscar (tu input .. de tipo text) y el method= del formulario .. en POST.


Un saludo,
  #3 (permalink)  
Antiguo 14/10/2005, 15:17
 
Fecha de Ingreso: marzo-2005
Mensajes: 142
Antigüedad: 19 años
Puntos: 0
Cluster, y si quisieramos buscar la cadena 'buscar' dentro de cada campo? Es decir, si la cadena 'buscar' no coincidiera con un campo completo pero si con una parte, como haríamos para que la búsqueda encontrara el resultado?

Gracias,

Leo.
  #4 (permalink)  
Antiguo 14/10/2005, 15:32
 
Fecha de Ingreso: mayo-2004
Mensajes: 903
Antigüedad: 19 años, 11 meses
Puntos: 4
Yo usé este
Código PHP:
<?php
//cadena de conexion
$link=mysql_connect("localhost","","");
mysql_select_db("");

// DEBO PREPARAR LOS TEXTOS QUE VOY A BUSCAR si la cadena existe
if ($_POST["busqueda"]!="")
{
//CUENTA EL NUMERO DE PALABRAS
$trozos=explode(" ",$_POST["busqueda"]);
$numero=count($trozos);

if (
$numero==1) {
//SI SOLO HAY UNA PALABRA DE BUSQUEDA SE ESTABLECE UNA INSTRUCION CON LIKE
$cadbusca="SELECT  palac, link FROM contenido WHERE palac =1
       AND titulo LIKE  '%$busqueda%' OR comentarios LIKE  '%$busqueda%' LIMIT 50"
;
}
elseif(
$numero>1) {
//SI HAY UNA FRASE SE UTILIZA EL ALGORTIMO DE BUSQUEDA AVANZADO DE MATCH AGAINST
//busqueda de frases con mas de una palabra y un algoritmo especializado
 
$cadbusca="SELECT  palac,link, MATCH ( titulo,comentarios )
      AGAINST (  '$busqueda' ) AS Score FROM contenido WHERE
      MATCH ( titulo,comentarios ) AGAINST (  '$busqueda' ) ORDER  BY Score DESC LIMIT 50"
;
}

$result=mysql_query($cadbusca,$link) or die(mysql_error());
While(
$row=mysql_fetch_object($result))
{
//Mostramos los titulos de los articulos o lo que deseemos...
$referencia=$row->link;
$titulo=$row->palac;
echo 
$referencia." ".$titulo."<br>"; echo "<a href='".$fila['titulo']."'>".$fila['titulo']."</a>";
}
}
?>

y este formu, pero claro todo dentro de páginas con extensión .php

Código:
<FORM METHOD=POST ACTION="buscador1.php">
              Ingrese el producto 
              <INPUT NAME="busqueda" TYPE="text" size="16">
                          <input type="submit" name="Submit" value="Buscar">
                        </FORM>

suerte!!!
  #5 (permalink)  
Antiguo 14/10/2005, 18:40
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
mvlsistemas

Deberías comentar que usas busquedas tipo "full text search" .. eso implica de ciertos requerimientos de la tabla y campos que se usen para este tipo de busquedas.

Indica ese detallito para que lo pueda usar correctamente.

Un saludo,
  #6 (permalink)  
Antiguo 15/10/2005, 08:46
 
Fecha de Ingreso: mayo-2004
Mensajes: 903
Antigüedad: 19 años, 11 meses
Puntos: 4
Ok Cluster es verdad, nosotros creamos una tabla llamada contenidos, con 5 campos: id (auto_increment), Palac (Palabra clave) , link, titulo y comentarios todas de tipo full text .
Yel índice idx_titulo_comentarios (full text) .
Lo que no te aseguro que esté correctamente pero funcionó.
velo aquí: http://www.polopositivocba.com.ar/productos1.php ahí podés poner solo una "a" y dar busqueda o cables o lámp . lo prueban y me lo corrigen o critícan. gracias y saludos.
  #7 (permalink)  
Antiguo 15/10/2005, 09:42
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 20 años, 11 meses
Puntos: 2
Cita:
Iniciado por mvlsistemas
Ok Cluster es verdad, nosotros creamos una tabla llamada contenidos, con 5 campos: id (auto_increment), Palac (Palabra clave) , link, titulo y comentarios todas de tipo full text .
Yel índice idx_titulo_comentarios (full text) .
Lo que no te aseguro que esté correctamente pero funcionó.
velo aquí: http://www.polopositivocba.com.ar/productos1.php ahí podés poner solo una "a" y dar busqueda o cables o lámp . lo prueban y me lo corrigen o critícan. gracias y saludos.

deberias completar ese codigo... puse xtrt y sale lo mismo: Archivos que satisfacen los criterios de búsqueda

jejeje, deberias comprobar si existe.,.. y si no es asi... deberias mostrar un error... en este caso es un mensaje de advertencia, indicando que no existen resultados...

a la hora de programar un proyecto, es tan importante que funcione.,.. como el crear todas las posibilidades de error... jejej, solo es una idea.
__________________
3w.valenciadjs.com
3w.laislatv.com
  #8 (permalink)  
Antiguo 15/10/2005, 13:48
 
Fecha de Ingreso: noviembre-2004
Mensajes: 82
Antigüedad: 19 años, 4 meses
Puntos: 0
Cita:
Iniciado por nuevo
deberias completar ese codigo... puse xtrt y sale lo mismo: Archivos que satisfacen los criterios de búsqueda

jejeje, deberias comprobar si existe.,.. y si no es asi... deberias mostrar un error... en este caso es un mensaje de advertencia, indicando que no existen resultados...

a la hora de programar un proyecto, es tan importante que funcione.,.. como el crear todas las posibilidades de error... jejej, solo es una idea.

Muy buen comentario, peroooooooo de que sirve si no aportas el script p/solucionarlo? para criticar simplemente no postees, algo que seguro el que lo hizo lo sabe, no te parece?
  #9 (permalink)  
Antiguo 15/10/2005, 19:02
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 20 años, 11 meses
Puntos: 2
señorita martina3, no sea tan agresiva ya q en la vida real, no le iran las cosas demasiado bien, manteniendo esa actitud... mi comentario no es una critica, es simplemente una aclaracion para el buen funcionamiento del sistema...

solucion... realizar el mismo query y si es 0 error... tan sencillo como eso... un saludo
__________________
3w.valenciadjs.com
3w.laislatv.com
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 03:39.