Foros del Web » Programando para Internet » PHP »

Ayuda para crear buscador de varios campos

Estas en el tema de Ayuda para crear buscador de varios campos en el foro de PHP en Foros del Web. Hola, espero alguien pueda ayudarme pues no soy nada experto en php. Tengo una base de datos para una librería con los siguientes campos: titulo, ...
  #1 (permalink)  
Antiguo 17/03/2004, 19:07
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
Ayuda para crear buscador de varios campos

Hola, espero alguien pueda ayudarme pues no soy nada experto en php.

Tengo una base de datos para una librería con los siguientes campos: titulo, autor, materia, coleccion, numero, fecha, estado.

Necesito crear una página en la que el usuario pueda buscar por titulo, autor, materia, etc. o sea, por el campo que el decida. Luego, los resultados se mostrarían en una página con toda la información del libro (titulo, autor, materia, etc).

Por lo que he buscado por alli, he encontrado varios códigos pero ninguno se adecúa a lo que quiero (al menos eso creo).

Otro punto aparte es que, si algún libro es sacado de la base de datos por estar agotado, el mismo pase a otra base de datos (como un inventario) para luego, si vuelve a estar en existencia, colocarlo nuevamente en la base de datos principal. Eso es posible?
  #2 (permalink)  
Antiguo 17/03/2004, 19:22
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 21 años
Puntos: 1
no se no es por pereza y no querer ayudarte, pero podrias poner algo de tu codigo y quizs podriamos orientarte mejor, pero creo que este tema se ha tratado varias veces en este foro, mira en el buscador del foro y en las FACS, seguro que encuentras algo

Saludos
  #3 (permalink)  
Antiguo 17/03/2004, 19:28
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
lo que encuentro es para realizar buscadores de palabras o de campos unicos.

mostrar un codigo... puedo mostrar algunos que he encontrado pero ninguno pasa de un solo campo.
  #4 (permalink)  
Antiguo 17/03/2004, 19:35
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
este es un codigo que encontré por alli. Muy basico pero en general, con mas o menos contenido, casi todos son iguales... no tengo la opcion de buscar por varias alternativas.

Código PHP:
$servidor "";
$user "";
$pass "";
$db "";

// Realizo la conexion
$conn mysql_connect ($servidor$user$pass);

// Selecciono la base de datos
mysql_select_db($db$conn) ;

// Construyo el query para buscar la direccion
$query "select * from usuarios where direccion like %$buscar%";

// Ahora ejecuto el query
$rs mysql_query($query,$conn);

// Ahora muestro los resultados por pantalla
while ($fila mysql_fetch_array($rs))
echo 
$fila["nombre"]." - ".$fila["direccion"];

mysql_close($conn); 
  #5 (permalink)  
Antiguo 18/03/2004, 06:24
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si piensas que un "buscador" sobre una Base de datos (tabla(s)) es en su base una série de consultas SQL -condicionales- de las mismas verías que si estudias cuanto más mejor sobre SQL de tu BD que uses .. hacer un buscador no es más que componer el SQL adecuado y ejecutar la consulta.

Luego veras que algunos motores de BD como Mysql tienen comandos como el "LIKE" que te permiten usar "comodines" (los % delante y/o detras de la cadena a buscar). Si profundizas algo más verás también que Mysql dispone de busquedas "full text" (útilies para buscar en campos largos tipo text o superiores).

En fin .. yo te recomiendo el manual de Mysql:
www.mysql.com
www.mysql-hispano.com

Ahí ve todo el tema sobre estructuras condicionales para SQL . operadores tipo AND/OR ... y afines.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 00:11.