Foros del Web » Programando para Internet » PHP »

Dos preguntas sobre consultas

Estas en el tema de Dos preguntas sobre consultas en el foro de PHP en Foros del Web. Hola que tal!! un saludo... Tengo poco con PHP, pero ando muy entusiasmado!! buscando todo el dìa y parte de mis sueños las respuestas de ...
  #1 (permalink)  
Antiguo 14/08/2008, 16:02
Avatar de etzekiel  
Fecha de Ingreso: agosto-2008
Mensajes: 67
Antigüedad: 15 años, 8 meses
Puntos: 1
Dos preguntas sobre consultas

Hola que tal!! un saludo...
Tengo poco con PHP, pero ando muy entusiasmado!! buscando todo el dìa y parte de mis sueños las respuestas de mis nuevas dudas!

Asì que espero me puedan orientar... con algo para leer serìa mas que suficiente... he utilizado a "google" pero hay ocaciones en que solo hace mas grandes mis dudas jejejeje.

1era pregunta:
Como hacer una consulta dentro de todos los campos de una tabla?
Explico:
En una bd tengo una tabla: amigos, con tres campos: id, nombre y aficiones
Puedo realizar una consulta atravez de un campo de texto de esta forma:
Código PHP:
$consulta="select * from amigos where nombre like '%".$busqueda."%'"
Pero lo que quiero es que la consulta se haga al campo nombre y al campo aficiones... me explico?...


2da pregunta:
Como hacer una busqueda "compuesta" es decir que pueda poner en el campo de texto: toño futbol...y la consulta este condicionada por esta palabras...

Como lo dije arriba, pues me imagino que este tema es largo; si me pudieran señalar por donde... algùn post, un caso pràtico, algo que leer, lo que sea es bienvenido ;) gracias!!
  #2 (permalink)  
Antiguo 14/08/2008, 17:25
 
Fecha de Ingreso: agosto-2008
Mensajes: 2
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Dos preguntas sobre consultas

Pues con lo de la primera pregunta, te quedaria de esta forma:

Código PHP:
$consulta="SELECT nombre, aficiones FORM amigos WHIERE nombre LIKE '%".$busqueda."%' OR aficiones LIKE '%".$busqueda."%'"
Con lo anterior buscará la palabra en los dos campos que tu quieres.


Con la segunda pregunta, podes hacer lo siguiente:

Código PHP:

$wordmagic
=$_POST['wordmagic']; // Para obtener el valor del campo de texto
$wordmagic strip_tags($wordmagic); //Elimina etiquetas HTML y PHP de la cadena, esto por si a caso meten en el campo de texto etiquetas de este tipo
$trozos explode(" "$wordmagic); //Separa por cadenas la frease.. en una cadena "toño" y en la siguente "futbol" 
Con lo anterior solamente se han separado las palabras, ahora tienes que armar la consulta, la cual puede ser asi (puedes modificarla)

Código PHP:

$valor
=1;  //esta es una bandera
foreach ($trozos as $trozo) { //con esto leeremos cada palabra de la oracion original
  
if ($valor==1){ $condicion.="(nombre LIKE '%$trozo%' OR aficiones LIKE '%$trozo%')"$valor=0;} //utilizamos una concatenacion para comenzar a armar la consulta y al mismo tiempo, cambiamos el valor de la bandera
  
else {$condicion.=" OR (nombre LIKE '%$trozo%' OR aficiones LIKE '%$trozo%')"; } //dentro del else, se termina de armar la consulta, eso por si a caso tienes una frase mas larga como: "toño loco por el futbol" eso hara que busque cada una de esas palabras en los campos

$query="SELECT * FROM amigos WHERE $condicion ORDER BY id DESC"//aqui terminamos de armar la consulta donde serán ordenados descendentemente por el id

//luego haces la consulta a la base
$resultado mysql_query($query$conexion) or die(mysql_error()); 
Bueno, espero haberte ayudado un poco...podes consultar manuales de SQL para que podas armar mejor las consultas hay muchos en la red. Suerte!!!
  #3 (permalink)  
Antiguo 14/08/2008, 19:41
Avatar de etzekiel  
Fecha de Ingreso: agosto-2008
Mensajes: 67
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Dos preguntas sobre consultas

Muchas gracias HHH_SLV llegando a casa lo aplico (ya estoy ansioso) y te comento...
Si me sale, que es casi seguro (eso espero jajaja), publico el script!!! gracias otra vez!
  #4 (permalink)  
Antiguo 15/08/2008, 08:20
 
Fecha de Ingreso: agosto-2008
Mensajes: 2
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Dos preguntas sobre consultas

Oajala que si te funcione, sino, pues aca esta el foro ok. Y Me parece una muy buena idea publicar el script aca...eso para ayudar a la mara que viene atras y devolver lo que has aprendido... Suerte!
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

SíEste tema le ha gustado a 1 personas




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