Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] tomar 2 imput y consular valores

Estas en el tema de tomar 2 imput y consular valores en el foro de PHP en Foros del Web. saludos pues les comento que ya le he estado dándole y nada que doy con la respuesta. he estado mirando por google y nada que ...
  #1 (permalink)  
Antiguo 26/05/2018, 18:02
 
Fecha de Ingreso: abril-2011
Mensajes: 145
Antigüedad: 7 años, 1 mes
Puntos: 5
tomar 2 imput y consular valores

saludos

pues les comento que ya le he estado dándole y nada que doy con la respuesta.

he estado mirando por google y nada que doy con la respuesta
tengo una pregunta.

como hago para tomar dos variables y buscarlas en mi bd segun se requiera

por ejemplo quiero que se busque por ciudad y que el sistema me busque la palabra parqueadero en 5 campos distintos.

hay alguna forma de hacerlo?

tome como ejemplo el LIKE pero al buscar no lo hace bien aqui tengo mi codigo

Código PHP:
Ver original
  1. $sql = "SELECT * FROM registro WHERE actividad  LIKE '%$bus%' OR ciudad LIKE '%$bus2%' OR p1 LIKE '%$bus%' OR p2 LIKE '%$bus%' OR p3 LIKE '%$bus%' OR p4 LIKE '%$bus%' OR p5 LIKE '%$bus%' ";


el planteamiento que tengo es el siguiente:
el sistema busque por ciudad y escriba por ejemplo 'mexico' y que en mexico me diga si hay parquedaderos en los campos p1,p2,p3,p4,p5

que puedo hacer???

Última edición por dairo65; 26/05/2018 a las 18:10
  #2 (permalink)  
Antiguo 27/05/2018, 10:18
Avatar de alvaro_trewhela  
Fecha de Ingreso: octubre-2012
Ubicación: localhost
Mensajes: 887
Antigüedad: 5 años, 7 meses
Puntos: 103
Respuesta: tomar 2 imput y consular valores

Y como tomas bus?
  #3 (permalink)  
Antiguo 27/05/2018, 18:37
Avatar de vicram10  
Fecha de Ingreso: enero-2009
Ubicación: Asuncion
Mensajes: 305
Antigüedad: 9 años, 4 meses
Puntos: 26
Respuesta: tomar 2 imput y consular valores

vos queres buscar "mexico" pero que por debajo busques si dicha palabra tiene "parqueadores"?
si no es eso creo que debes explicarte un poco mejor..

por cierto por que creaste otro hilo si aca preguntas lo mismo?

http://www.forosdelweb.com/f18/busca...mysql-1161534/
__________________
Asunción Paraguay
Licenciado - Desarrollador Web - Lider de Proyectos Banco Local (Paraguay)
Espacio Geek - Comunidad Tecnologica
  #4 (permalink)  
Antiguo 01/06/2018, 08:24
 
Fecha de Ingreso: abril-2011
Mensajes: 145
Antigüedad: 7 años, 1 mes
Puntos: 5
Respuesta: tomar 2 imput y consular valores

Cita:
Iniciado por vicram10 Ver Mensaje
vos queres buscar "mexico" pero que por debajo busques si dicha palabra tiene "parqueadores"?
si no es eso creo que debes explicarte un poco mejor..

por cierto por que creaste otro hilo si aca preguntas lo mismo?

http://www.forosdelweb.com/f18/busca...mysql-1161534/

saludos vicram y gracias por responder.

Efectivamente lo que quiero es que de dos input uno que busque la ciudad y otro que busque la actividad, y ademas que busque también entre 5 productos mas ejemplo

quiero buscar en "mexico" todos los locales que vendan empanadas.

pero que si el usuario quiere buscar por mexico y el nombre de la empresa ejemplo "empanadas la sexta" que tambien lo encuentre.

en este punto no se como cuadrar mi consulta para que el sistema me tome estas variables que que tengo dos variables
una búsqueda de producto que es '$bus' y la otra que es ciudad que es $busC.

y disculpa por repetir la consulta en otro post pero en el anterior no hice la pregunta correcta.
  #5 (permalink)  
Antiguo 01/06/2018, 09:37
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 10 años, 1 mes
Puntos: 528
Respuesta: tomar 2 imput y consular valores

Entonces, como te había indicado en tu otra pregunta, el tema es más de mysql que de php.

Nota: sería mejor que para los nombres de los campos de tu tabla uses palabras completas y concisas, ya que p1, p2 p3 etc no dicen nada, y si un día otra persona analiza tu códigom o tus tablas le tomará mucho tiempo entenderlo. Incluso si un día tienes tú mismo que actualizar un código de hace meses te costará trabajo.

La consulta creo yo debería quedar más o menos así, aunque no estoy seguro por que no aclaras en qué campos quieres buscar qué inputs:
Código SQL:
Ver original
  1. WHERE
  2.  
  3. (actividad  LIKE '%$campo1%' OR ciudad LIKE '%$campo1%')
  4.     AND
  5. (p1 LIKE '%$campo2'% OR p2 LIKE '%$campo2%' OR p3 LIKE '%$campo2%' OR....... etc)
  #6 (permalink)  
Antiguo 01/06/2018, 18:10
 
Fecha de Ingreso: abril-2011
Mensajes: 145
Antigüedad: 7 años, 1 mes
Puntos: 5
Respuesta: tomar 2 imput y consular valores

Cita:
Iniciado por ocp001a Ver Mensaje
Entonces, como te había indicado en tu otra pregunta, el tema es más de mysql que de php.

Nota: sería mejor que para los nombres de los campos de tu tabla uses palabras completas y concisas, ya que p1, p2 p3 etc no dicen nada, y si un día otra persona analiza tu códigom o tus tablas le tomará mucho tiempo entenderlo. Incluso si un día tienes tú mismo que actualizar un código de hace meses te costará trabajo.

La consulta creo yo debería quedar más o menos así, aunque no estoy seguro por que no aclaras en qué campos quieres buscar qué inputs:
Código SQL:
Ver original
  1. WHERE
  2.  
  3. (actividad  LIKE '%$campo1%' OR ciudad LIKE '%$campo1%')
  4.     AND
  5. (p1 LIKE '%$campo2'% OR p2 LIKE '%$campo2%' OR p3 LIKE '%$campo2%' OR....... etc)

Saludos.

te comento que no me funciono como me dijiste lo hice directamente en mysql y no me imprime nada, lo modifique asi
Código SQL:
Ver original
  1. FROM registro WHERE (ciudad LIKE '%mexico%' AND actividad LIKE '%jugos%' AND n_empresa LIKE '%jugos%') OR (p5 LIKE '%jugos%'
  2. OR p4 LIKE '%jugos%'
  3. OR p3 LIKE '%jugos%'
  4. OR p2 LIKE '%jugos%'
  5. OR p1 LIKE '%jugos%')

y aquí me trae todas la base de datos donde esta la palabra jugos de todos los países pero solo quiero que me traiga una que es la que esta en mexico y por otro lado si le digo a mis input que la ciudad es mexico y que el n_empresa (nombre de empresa) se llama droguerías ayayai si me lo filtra bien y me trae solo esa fila.


básicamente lo que deseo es que si es sistema busca '$jugos' en '$mexico' que solo traiga esos datos y no que si yo le digo $'jugos' en '$mexico' me traiga los de perú, ecuador etc y que ademas tambien se pueda escribir '$mexico' y '$droguerias ayayai' y me traiga el negocio con ese nombre
que opinas que debo hacer??
estará muy dificil?

Última edición por dairo65; 01/06/2018 a las 18:17
  #7 (permalink)  
Antiguo 02/06/2018, 09:47
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 10 años, 1 mes
Puntos: 528
Respuesta: tomar 2 imput y consular valores

(ciudad LIKE '%mexico%' AND actividad LIKE '%jugos%' AND n_empresa LIKE '%jugos%')

Aquí estás diciendo que buscas datos que en la ciudad esté mexico, en actividad jugos Y en empresa jugos.

Creo que lo que quieres es

(ciudad LIKE '%mexico%' AND (actividad LIKE '%jugos%' OR n_empresa LIKE '%jugos%'))

Esto es un problema de lógica más que de otra cosa.
  #8 (permalink)  
Antiguo 02/06/2018, 12:08
 
Fecha de Ingreso: abril-2011
Mensajes: 145
Antigüedad: 7 años, 1 mes
Puntos: 5
Respuesta: tomar 2 imput y consular valores

Cita:
Iniciado por ocp001a Ver Mensaje
(ciudad LIKE '%mexico%' AND actividad LIKE '%jugos%' AND n_empresa LIKE '%jugos%')

Aquí estás diciendo que buscas datos que en la ciudad esté mexico, en actividad jugos Y en empresa jugos.

Creo que lo que quieres es

(ciudad LIKE '%mexico%' AND (actividad LIKE '%jugos%' OR n_empresa LIKE '%jugos%'))

Esto es un problema de lógica más que de otra cosa.
saludos y gracias por responder.

tienes razón pero aquí es donde la lógica no funciona, por que a poner el código en mysql tal y como lo dices tu me trae la palabra '%jugos%' pero me trae de varios países como ecuador peru Bolivia etc cuando solo debería traerme la palabra '%jugos%' de solo mexico.

por otro lado se que es un problema de consulta y ahí es donde estoy fallando, pero sigo haciendo pruebas para ver que es lo que pasa.

gracias por sus amables comentarios que fueron de mucha ayuda para mi proyecto.

Última edición por dairo65; 02/06/2018 a las 12:21
  #9 (permalink)  
Antiguo 02/06/2018, 12:54
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 10 años, 1 mes
Puntos: 528
Respuesta: tomar 2 imput y consular valores

Si de verdad pusiste esto:

(ciudad LIKE '%mexico%' AND (actividad LIKE '%jugos%' OR n_empresa LIKE '%jugos%'))

No debería poder darte resultados de otros paises a menos que con otros paises tuvieras registrado en el campo ciudades la palabra "mexico"

Ya que la consulta ciudad LIKE '%mexico%' AND fuerza a que la ciudad sí o sí deba contener "mexico"

Obviamente habría que ver cómo están los datos de tu tabla y el código de tu consulta completa, ya que si metes uno o varios "OR" mal puestos podrías estar invalidando el "AND" que te indiqué.
  #10 (permalink)  
Antiguo 02/06/2018, 17:11
 
Fecha de Ingreso: abril-2011
Mensajes: 145
Antigüedad: 7 años, 1 mes
Puntos: 5
Respuesta: tomar 2 imput y consular valores

Si claro por eso es que voy a hacer un buen debug paso a paso para así dar con el error.


muchas gracias por tu amable ayuda.



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