Autor
|
Tema: Búsqueda en mysql con php (Leído 4,750 veces)
|
dark_sargon
Desconectado
Mensajes: 534
CJ
|
Un saludo... He buscado muchos códigos en php para hacer un buscador pero la verdad no he encontrado lo que necesito. Tengo una tabla en mysql con muchos registros... me gustaría saber si es posible hcer un buscador que relacione palabras digitadas en un campo de texto con palabras que estén en la tabla de mysql y luego mostrar toda la fila completa. Por ejemplo: Tengo una tabla con los campos "nombre", "email" y "telefono"... Busco por "andres"... entonces me debe aparecer: Nombre E-mail Teléfono Andres Perez andres@email.com 883900392 Es posible esto?.. alguien me podría ayudar? por favor. Muchas gracias, adiós
|
|
|
En línea
|
|
|
|
dark_sargon
Desconectado
Mensajes: 534
CJ
|
lo siento.. este post no debería ir acá... ando como elevado. Disculpen... aun así quien quiera ayudarme, respondame porfavor. Gracias
|
|
|
En línea
|
|
|
|
cassiani
Desconectado
Mensajes: 978
« Anterior | Próximo »
|
usas el operador "Like" en tu consulta. SELECT * FROM tabla WHERE Nombre LIKE '%andres%'
|
|
|
En línea
|
|
|
|
Agente Naranja
Desconectado
Mensajes: 535
uguu~
|
Para ello tienes que utilizar el operador LIKE. Por ejemplo:
select * from usuario where nombre like "%luis%"
Eso devuelve todos los usuarios que tienen "luis" en algún lugar del campo nombre. Nos sevolvería los registros con nombres como "luis", "luis alberto" o "jose luis".
Utilizando el operador like podemos utilizar comodines, como el % que acabamos de ver.
- El comodín % sirve para cambiarlo por cualquier caracter o grupo de caracteres.
- El comodín _ (guión bajo) se puede utilizar para cambiarlo por cualquier caracter. Tomado de : http://www.desarrolloweb.com/faq/273.php
|
|
|
En línea
|
|
|
|
dark_sargon
Desconectado
Mensajes: 534
CJ
|
Señores, muchas gracias por la ayuda y el tiempo, ya no los molesto más Solo una última pregunta: ¿Cómo puedo hace para que a partir de esta búsqueda, se muestre todo el registro de la tabla ? (PHP) Digamos si pongo: SELECT * FROM tabla WHERE Nombre LIKE '%andres%' El resultado sería: Y el resultado de la consulta debe ser: Nombre E-mail Teléfono Andres alguien@host.com 58674958 mm.. ¿Sí me entienden? Es decir que no solo muestre el campo que comparó sino que también muestre los que se relacionan con este. Un saludo
|
|
« Última modificación: 14 Marzo 2009, 01:08 am por dark_sargon »
|
En línea
|
|
|
|
cassiani
Desconectado
Mensajes: 978
« Anterior | Próximo »
|
Así como está debería devolverte todos los campos de la tabla, algo estas haciendo mal
|
|
|
En línea
|
|
|
|
survil
|
al hacer esto: SELECT * FROM tabla WHERE Nombre LIKE '%andres%'
obtienes todos los campos de el Registro un ejemplo mas completo: seleccionas la Base de Datos "nombre_BD" y ejecutas el query $consulta= mysql_db_query("nombre_BD","SELECT * FROM tabla WHERE Nombre LIKE %andres%")
seleccionas el primer registro que tienes en la variable $consulta
y por ultimo accedes por medio de un array asociativo a cada uno de los campos de el registro. $nombre=registro["nombre"]; $email=registro["E-mail"]; $Telefono=registro["Telefono"];
|
|
« Última modificación: 14 Marzo 2009, 02:44 am por survil »
|
En línea
|
|
|
|
cassiani
Desconectado
Mensajes: 978
« Anterior | Próximo »
|
exacto, prueba a hacer la consulta directamente en la consola y veras, tu error es el code. si quieres postealo y vemos que se le hace.
saludos,
|
|
|
En línea
|
|
|
|
Agente Naranja
Desconectado
Mensajes: 535
uguu~
|
Reemplaza mysql_db_query por mysql_query. Según la página oficial de PHP, esta función está obsoleta: 5.3.0 This function now throws an E_DEPRECATED notice. Pero de resto está bién, aunque yo uso normalmente mysql_fetch_assoc en lugar de mysql_fetch_array, me parece un poco más ordenado. $mysql_query = "SELECT * FROM tabla WHERE Nombre LIKE '%andres%'"; echo $row['nombre']; echo $row['telefono']; //Etc... }
|
|
|
En línea
|
|
|
|
dark_sargon
Desconectado
Mensajes: 534
CJ
|
Oh, ya veo... Muchas gracias a todos por la ayuda. Pude hacer lo que quería... poner campo de texto y un botón buscar y funciona bien. Un saludo.
|
|
|
En línea
|
|
|
|
|
|