Foros del Web » Programando para Internet » PHP »

recorar titulo de consulta en WHERE por una palabra de 3 letras eje, mysql_query

Estas en el tema de recorar titulo de consulta en WHERE por una palabra de 3 letras eje, mysql_query en el foro de PHP en Foros del Web. recorar titulo de consulta en WHERE por una palabra de 3 letras eje, mysql_query El problema es muy sencillo complicado solucionarlo ya que no puedo ...
  #1 (permalink)  
Antiguo 26/06/2011, 18:14
(Desactivado)
 
Fecha de Ingreso: noviembre-2010
Ubicación: Malaga
Mensajes: 225
Antigüedad: 13 años, 5 meses
Puntos: 0
Pregunta recorar titulo de consulta en WHERE por una palabra de 3 letras eje, mysql_query

recorar titulo de consulta en WHERE por una palabra de 3 letras eje, mysql_query

El problema es muy sencillo complicado solucionarlo ya que no puedo sustituir lo que proviene de la base de datos buscado por WHERE


1. Explico :

La palabra es Mister Man

Mister no existe : no

Man encuentra : ok
-----------------------------
2.

WHERE encuentra : Manny Manitas: Feliz Navidad con Manny

A señor Man : ok

Manny Manitas: Feliz Navidad con Manny : ok

///mas resultados man duplicado en palabras..

//otros man :
Cho man: ok


Kan man: ok

Cita:
Manny Manitas: Feliz Navidad con Manny : ok


Esta palabra contiene muchos man pero no es solo eso si no que le siguen otras

50 30 20 10 da igual ....



y deja los man principales :

Cho man: ok


Kan man: ok


-------------------------------------
3.

comentarios:



Bueno si se pudiera quitar de en medio estos que estan dando similitud solo por que son titulo largos seria muy bueno ayuda porfavor y gracias

Nota:

Si estan pensando en poner strlen( word) < 3 die()

no es una opcion saludos ...
  #2 (permalink)  
Antiguo 27/06/2011, 00:25
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: recorar titulo de consulta en WHERE por una palabra de 3 letras eje, mysql

Tal vez si posteas la tabla con datos y la consulta te podamos ayudar, salu2
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 27/06/2011, 11:45
(Desactivado)
 
Fecha de Ingreso: noviembre-2010
Ubicación: Malaga
Mensajes: 225
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: recorar titulo de consulta en WHERE por una palabra de 3 letras eje, mysql

Esta bien explicado asi .
  #4 (permalink)  
Antiguo 27/06/2011, 11:49
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: recorar titulo de consulta en WHERE por una palabra de 3 letras eje, mysql

No entiendo que es lo que requieres, pero creo que lo que necesitas es usar LIKE para buscar en tus titulos...
  #5 (permalink)  
Antiguo 27/06/2011, 11:49
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: recorar titulo de consulta en WHERE por una palabra de 3 letras eje, mysql

yo no tengo ni idea de que es lo que quieres, usar LIKE en SQL????

PD; @gatorv me ganó el post!!
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #6 (permalink)  
Antiguo 27/06/2011, 11:53
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: recorar titulo de consulta en WHERE por una palabra de 3 letras eje, mysql

¿Estas haciendo la consulta con LIKE?

Supongo, porque la verdad no entiendo, que quieres mostrar solo los resultado que tengan la frase exacta y no solo una parte de ella.

Si es así, entonces usa RLIKE y una expresión regular mas precisa.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 27/06/2011, 12:59
(Desactivado)
 
Fecha de Ingreso: noviembre-2010
Ubicación: Malaga
Mensajes: 225
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: recorar titulo de consulta en WHERE por una palabra de 3 letras eje, mysql

eso me pasa por no poner todo el texto ... de mysql_query no ven que ni siquiera estan etiquetas php , quien no sabe lo que es like ademas miren los mesajes son mas de 200 jajaj y en verdad llevare mas de 2000 .. no anden por hay fijense en el problema LIKE no es el problema .
  #8 (permalink)  
Antiguo 27/06/2011, 13:04
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: recorar titulo de consulta en WHERE por una palabra de 3 letras eje, mysql

Cita:
Iniciado por phpfan Ver Mensaje
eso me pasa por no poner todo el texto ... de mysql_query no ven que ni siquiera estan etiquetas php , quien no sabe lo que es like ademas miren los mesajes son mas de 200 jajaj y en verdad llevare mas de 2000 .. no anden por hay fijense en el problema LIKE no es el problema .
¿Pero de que diablos hablas chaval?

La verdad no sabes ni siquiera redactar un pregunta de forma inteligente.

Parece ser que solamente divagas, y solo tu eres capaz de entenderte, no somos tú.

Deberías poner un poco mas de esfuerzo e intentar redactar de forma mas detallada y humana lo que pretendes.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 27/06/2011, 15:18
(Desactivado)
 
Fecha de Ingreso: noviembre-2010
Ubicación: Malaga
Mensajes: 225
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: recorar titulo de consulta en WHERE por una palabra de 3 letras eje, mysql

Cita:
¿Pero de que diablos hablas chaval?
Te luciste...

Si no lo entiendes es problema tuyo no mio .
  #10 (permalink)  
Antiguo 27/06/2011, 15:27
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: recorar titulo de consulta en WHERE por una palabra de 3 letras eje, mysql

Cita:
Iniciado por pateketrueke Ver Mensaje
¿Pero de que diablos hablas chaval?

La verdad no sabes ni siquiera redactar un pregunta de forma inteligente.

Parece ser que solamente divagas, y solo tu eres capaz de entenderte, no somos tú.

Deberías poner un poco mas de esfuerzo e intentar redactar de forma mas detallada y humana lo que pretendes.
+100 deacuerdo, concuerdo conque no se entiende nada de lo que dice.

Sinceramente una cosa es enterderse a si mismo y otra muy diferente el tratar de hacer entender a los demás, por lo que a mi concierne no entendí nada de lo que expone, si vive en su propio mundo es cosa suya, con entender al 99% del resto de los foristas me basta y sobra.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #11 (permalink)  
Antiguo 27/06/2011, 15:37
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: recorar titulo de consulta en WHERE por una palabra de 3 letras eje, mysql

Cita:
Iniciado por phpfan Ver Mensaje
Te luciste...

Si no lo entiendes es problema tuyo no mio .
Pero todos te estamos diciendo que no entendemos nada de lo que expones, creo que entonces es probable que tú no te estes explicando bien...
  #12 (permalink)  
Antiguo 27/06/2011, 19:07
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 13 años, 9 meses
Puntos: 55
Respuesta: recorar titulo de consulta en WHERE por una palabra de 3 letras eje, mysql

chamo aprende primero a formular preguntas y comportate de una manera cortez con los que pueden resolver tu problema o ayudarte en tu consulta, ya que tu comportamiento no es acorde (por lo menos es lo que a mi me parece)
__________________
<?php echo "No te metas a lo hondo del Mar si no sabes nadar, primero aprende a nadar" ?>
...Error en linea: 1 o.O
  #13 (permalink)  
Antiguo 27/06/2011, 19:09
(Desactivado)
 
Fecha de Ingreso: noviembre-2010
Ubicación: Malaga
Mensajes: 225
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: recorar titulo de consulta en WHERE por una palabra de 3 letras eje, mysql

Yo estoy en paz.pateketrueke no.

Si no lo entienden es que ma da igual. si soy el único que se entiende así mismo pues bienvenido sea , y gracias por el interés soy compasivo.

Cita:
Pero todos te estamos diciendo que no entendemos nada de lo que expones, creo que entonces es probable que tú no te estes explicando bien...
Tendras toda la razón gator v.
  #14 (permalink)  
Antiguo 27/06/2011, 19:33
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: recorar titulo de consulta en WHERE por una palabra de 3 letras eje, mysql

Cómo que te dá igual? Entonces por qué tomarse la molestia de crear un post para que al final te dé igual si te entienden o no?

Como sea, ya te recomendaron el uso de like, aunque al parecer confundiste like en SQL con alguna otra cosa... Te recomiendo que leas la finalidad de like y su aplicación hablando de SQL. Por mi parte ya ayudé, si te da igual pues ni modo, suerte con tu formulación de preguntas
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #15 (permalink)  
Antiguo 27/06/2011, 20:14
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: recorar titulo de consulta en WHERE por una palabra de 3 letras eje, mysql

Tuve que leer detenidamente tu primer post repetidamente para tratar de entender lo que planteas. Creo que lo comprendí.

A ver:

1) Tienes una aplicación que realiza una búsqueda de un tal "Mister Man" dentro de alguna tabla.

2) Tienes que hacerlo en PHP, porque no tienes permiso de modificar la sintaxis de la consulta que devuelve la tabla de datos a procesar.

3) Como esa consulta busca por similitudes, lo que devuelve es cualquier cosa que contenga al menos una de las palabras de la cadena buscada.

4) El resultado de la búsqueda es tal que de la primera palabra ("Mister"), no encuentra ninguna coincidencia.

5) De la segunda palabra encuentra, pero como lo hace por LIKE (aparentemente un LIKE '%Man%'), devuelve todas aquellas coincidencias en que aparezcan esas tres letras, sin importar si es al inicio, al medio o al final de alguna palabra.

6) Quieres que te ayudemos a buscar la forma de descartar todas aquellas respuestas que no sean por la palabra exacta, ya que supones que esas serán las respuestas correctas.

Si esto es lo que deseas puedo decirte al menos tres cosas:
1) No te hubiese costado ni medio escribirlo de esta forma. A menos que sufras de parálisis cerebral, tengas enyesadas las manos y estés escribiendo con la punta de una lapicera sobre el teclado, podrías tomarte al menos el trabajo de escribirlo en castellano (español) correctamente. Ponle un poco de onda... de la forma que escribiste lo único que parecía es que querías provocar una pelea (eso o tienes menos de doce años de edad).

2) El 99,99% de tu problema es por una consulta mal redactada. Lo mejor sería buscar la forma de reemplazarla, o bien de crear nuevas que puedan responder tu búsqueda de una forma mejor.

3) Si ninguna de estas cosas te conforma, simplemente deberías programar la secuencia de PHP que permita recorrer las cadenas devueltas en el array de respuesta y descartar aquellas que no cumplan con la condición que tu necesitas. Puedes incluso usar expresiones regulares en PHP para ello; de ese modo tal vez lo hagas más rápido.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #16 (permalink)  
Antiguo 28/06/2011, 08:57
 
Fecha de Ingreso: septiembre-2009
Ubicación: Queretaro
Mensajes: 51
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: recorar titulo de consulta en WHERE por una palabra de 3 letras eje, mysql

MMM lo que yo entiendo es esto:

tiene una tabla mal diseñada con una variedad de datos mal ingresados o sucios.

la tabla puede ser así:

------------------------------------------------------------
| ID | VALOR |
------------------------------------------------------------
| 1 | Mister Man |
------------------------------------------------------------
| 2 | Manny Manitas: Feliz Navidad con Manny |
-------------------------------------------------------------
| 3 | Señor Man |
-------------------------------------------------------------
| 4 | Cho man |
-------------------------------------------------------------
| 5 | Kan Man |
-------------------------------------------------------------

entonces tiene una sentencia la cual su complementos modificadores le resuelve otorgando un array con muchos valores (los valores de que tengan man {"man" Modificador de longitud muy corta y da muchas coincidencias con el %LIKE% }).

entonces en el array se puede ir eliminando partidas de la matriz encontrando coincidencias exactitudes en la palabra ya que los valores de la matriz no son palabras son oraciones en valor string. entonces las que tengas la palabra exacta que se eliminen y las que no tengan la palabra exacta en la oración se muestren.

bueno eso yo creo y me cae que me fume mucha hierba para esto jajajajajaja

pero si la mejor solución es mejorar esa sentencia de bebes que han de tener, en estos casos yo creo que la mejor solución es utilizar en el mysql las sentencias "MATCH (), AGAINST ()" el %LIKE% a lo mejor en esto puede estar muy limitado.

o la solución sin entrar a MYSQL ps en php es el manejo de arrays aquí el manual para los arrays

[URL="http://mx.php.net/manual/es/book.array.php"]http://mx.php.net/manual/es/book.array.php[/URL]

y si pareces un niño de 12 años pues hay q aprender a redactar, tenderas que aprender matemáticas y muchas cosas más, ya que esto así se resuelve.
y nadie es perfecto mucho menos dios para entender y tu vengas provocar pleitos.

saludos

Etiquetas: letras, palabra, titulo
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 19:22.