Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Mysql (http://www.forosdelweb.com/f86/)
-   -   pequeña duda con consulta para un buscador simple (http://www.forosdelweb.com/f86/pequena-duda-con-consulta-para-buscador-simple-504273/)

rogertm 09/07/2007 14:26

pequeña duda con consulta para un buscador simple
 
hola, tengo una pequeña duda, tengo hecho un simple buscador con dreamweaver 8 y funciona muy bien, pero lo he hecho guiandome con la ayuda de dreamweaver, y el resultado es que solo me busca en un campo de la tabla en donde quiero buscar, asi:
Código PHP:

SELECT FROM documentosWHERE asunto LIKE CONCAT('%%', %s'%%'

de esta manera solo me busca en el campo asunto, pero tengop otro campo llamado referencia y quiero buscar tambien alli, he probado algo asi:
Código PHP:

SELECT FROM documentosWHERE asuntoreferencia LIKE CONCAT('%%', %s'%%'

pero me da error, y si pongo asunto AND referencia, no da el error, pero tampoco muestra los resultados................

bueno, espero por ayuda, saludos y suerte

axz 09/07/2007 14:35

Re: pequeña duda con consulta para un buscador simple
 
Prueba con OR:
SELECT *
FROM documentos
WHERE asunto LIKE CONCAT('%%', %s, '%%')
OR referencia LIKE CONCAT('%%', %s, '%%')

rogertm 10/07/2007 07:49

Re: pequeña duda con consulta para un buscador simple
 
hola, he probado lo que me dices y me da un error
Código:

Warning:  sprintf() [function.sprintf]: Too few arguments in D:\SERVER\wamp\www\regent\busqueda_resultado.php on line 9
Query was empty

tambien probe WHERE asunto OR referencia LIKE CONCAT('%%', %s, '%%') y solo me busca en las referencias y viceversa

que puede ser?

axz 14/07/2007 02:14

Re: pequeña duda con consulta para un buscador simple
 
Mmmm ... lo siento copié tu consulta, no estoy seguro de que el %s funcione fuera de comillas, intenta con esto:

SELECT *
FROM documentos
WHERE asunto LIKE CONCAT('%%', '%s', '%%')
OR referencia LIKE CONCAT('%%', '%s', '%%')

que a final de cuentas sería lo mismo que esto:
SELECT *
FROM documentos
WHERE asunto LIKE '%s%'
OR referencia LIKE '%s%'

ojalá te funcione

rogertm 14/07/2007 07:47

Re: pequeña duda con consulta para un buscador simple
 
hola, y gracias, pero ambas formas me dan error:
Código:

Warning:  sprintf() [function.sprintf]: Too few arguments in D:\SERVER\wamp\www\regent\busqueda_resultado.php on line 9
Query was empty

la linie 9 es esta:
Código PHP:

$query_busqueda_resultado sprintf("SELECT * FROM documentos WHERE asunto LIKE '%s%' OR referencia LIKE '%s%'"GetSQLValueString($colname_busqueda_resultado"text")); 


deadlykyo 14/07/2007 08:39

Re: pequeña duda con consulta para un buscador simple
 
Holas rogertm, puedes intentar esto en SQL ( recuerden que es un foro de MySQL y no de PHP, en lo posible hay que evitar el posteo de codigo PHP):
Código PHP:

SELECT 
FROM documentos 
WHERE asunto LIKE 
'%cadenaABuscar%' OR referencia LIKE '%cadenaABuscar%'" 

ahora si lo que quieres es que autocomplete por izquierda, por derecha y por el centro, seria algo asi la cadena a buscar con like
Código PHP:

SELECT 
FROM documentos 
WHERE asunto LIKE 
'%cadena%A%Buscar%' OR referencia LIKE '%cadenaABuscar%'" 

si quieres hacerlo con PHP ( disculpandome de antemano por postear codigo PHP), porque no intentas esto:
Código PHP:

$cadenaBuscar str_replace' ''%'$valor ) ;
mysql_query(" SELECT * FROM documentos 
                        WHERE asunto LIKE '$cadenaBuscar' OR referencia LIKE '$cadenaBuscar'; "
); 

saludos, cya

axz 16/07/2007 09:06

Re: pequeña duda con consulta para un buscador simple
 
Oh, ok, disculpa, no me fijé que usabas PHP ... en tal caso y tomando como referencia tu código, puedes hacer esto:
Código PHP:

$valor GetSQLValueString$colname_busqueda_resultado'text' );
$query_busqueda_resultado 'SELECT *
FROM documentos
WHERE asunto LIKE "%' 
$valor '%"
OR referencia LIVE "%' 
$valor '%"'

De ésta forma, suponiendo que pasa el parámetro "naranjas" .... se te generará la siguiente consulta:
Código PHP:

SELECT *
FROM documentos
WHERE asunto LIKE 
"%naranjas%"
OR referencia LIKE "%naranjas%" 

con lo cual se te devolverán todos los registros que contengan en el campo asunto la palabra "naranjas", ya sea al principio, en medio o al final ... también se te devolverán los registros que contengan en el campo referencia la palabra "naranjas"

Suerte, avísame si te sirve :arriba:

rogertm 16/07/2007 13:38

Re: pequeña duda con consulta para un buscador simple
 
hola otra vez, ya he probado de mil y una maneras, entre ellas todas las que me dicen aqui, tambien tengo otro post por el foro de php a ver si soluciono y nada, creo que tumbo y comienzo de CERO a ver si funciona
gracias por la ayuda, ya veremos si puedo con esto

axz 16/07/2007 14:48

Re: pequeña duda con consulta para un buscador simple
 
No es necesario descartarlo, si pudieramos ver la estructura de tus tablas y tu código en php podríamos ver lo que está ocurriendo, estoy seguro que no es algo grave.


La zona horaria es GMT -6. Ahora son las 10:15.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.