Foros del Web » Programando para Internet » PHP »

buscador - duda con código

Estas en el tema de buscador - duda con código en el foro de PHP en Foros del Web. Hola! Tengo una duda con un código de búsqueda. Este es el form Código HTML: <form method= "post" action= "index2.php?accion=buscar&tab=productos" > <div> <input name= "search" ...
  #1 (permalink)  
Antiguo 19/11/2012, 19:32
 
Fecha de Ingreso: agosto-2003
Mensajes: 524
Antigüedad: 20 años, 8 meses
Puntos: 5
buscador - duda con código

Hola!

Tengo una duda con un código de búsqueda.

Este es el form

Código HTML:
<form method="post" action="index2.php?accion=buscar&tab=productos">
<div>
<input name="search" id="search" size="12" /> 
<input class="btbuscar" type="submit" value="" />
</div>    
</form> 
y en buscar.inc.php se hace la consulta

Código PHP:
$conn->setQuery('SELECT * FROM productos WHERE MATCH (titulo) AGAINST ('%{$_POST['search']}%')'); // esto no está funcionando. 
si pongo

Código PHP:
$conn->setQuery('SELECT * FROM productos'// devuelve todos los registros 
si hago un ejemplo

Código PHP:
$conn->setQuery(SELECT FROM productos WHERE titulo "algo" // devuelve los valores correspondientes. 
Es decir que mi error está en como hago la búsqueda con la variable "search" espero puedan ayudarme, gracias!
__________________
Saludos!!!
Maru.-
  #2 (permalink)  
Antiguo 19/11/2012, 19:43
Avatar de arianna_rr  
Fecha de Ingreso: noviembre-2012
Ubicación: Playa Del Carmen, Q. Roo
Mensajes: 40
Antigüedad: 11 años, 5 meses
Puntos: 3
Respuesta: buscador - duda con código

Hola, yo también hago búsquedas en mi sitio y lo que me funciona es esto

Código PHP:
Ver original
  1. $criterio=trim($_POST['search']);
  2. $conn->setQuery("SELECT * FROM productos WHERE titulo like '%$criterio%' ");
__________________
Respaldo, luego existo.
--------------------
Aprender rápido y olvidar lentamente es sólo una capacidad. Si te crees inteligente evita las respuestas pedantes. GRACIAS! ♫
  #3 (permalink)  
Antiguo 19/11/2012, 19:49
 
Fecha de Ingreso: agosto-2003
Mensajes: 524
Antigüedad: 20 años, 8 meses
Puntos: 5
Respuesta: buscador - duda con código

Muchas gracias! funcionó!!!
__________________
Saludos!!!
Maru.-
  #4 (permalink)  
Antiguo 19/11/2012, 20:22
 
Fecha de Ingreso: enero-2002
Mensajes: 1.174
Antigüedad: 22 años, 3 meses
Puntos: 21
Respuesta: buscador - duda con código

Funciona con acentos y eñes?
  #5 (permalink)  
Antiguo 19/11/2012, 20:33
Avatar de arianna_rr  
Fecha de Ingreso: noviembre-2012
Ubicación: Playa Del Carmen, Q. Roo
Mensajes: 40
Antigüedad: 11 años, 5 meses
Puntos: 3
Respuesta: buscador - duda con código

Lo de los acentos y eñes ya depende de cómo guardes tu info y del cotejamiento de los campos de tus tablas. Ya dependiendo de eso sabes si puedes mandar el criterio directamente a la búsqueda o si tienes que hacerle algo como un "parche" para que sea capaz de encontrar las coincidencias, por ejemplo, si en tu base de datos tienes el campo apellido en la tabla personas y al guardar el apellido Rodríguez queda así Rodr&iacute;guez, y si al recibir el criterio de búsqueda el apellido llega tal cual Rodríguez, entonces será necesario poner el código así:

Código PHP:
Ver original
  1. $criterio=htmlentities(trim($_POST['search']));
  2.     $conn->setQuery("SELECT * FROM productos WHERE titulo like '%$criterio%' ");

Cuando la cuestión es porque charset tuviera inconsistencias entonces se pueden usar otras funciones PHP como utf8_encode(), y otras más, si acaso tu página, el cotejamiento de los campos, la configuración de MySQL no fueran constantes. Para decidir qué debes usar es necesario que sepas cómo están guardados tus datos y cómo se recibe el criterio de búsqueda.
__________________
Respaldo, luego existo.
--------------------
Aprender rápido y olvidar lentamente es sólo una capacidad. Si te crees inteligente evita las respuestas pedantes. GRACIAS! ♫

Etiquetas: registro, buscadores, variables
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 01:57.