Operador LIKE para PHP [Solucionado]

Iniciado por peib0l, 22 Noviembre 2014, 17:42 PM

0 Miembros y 1 Visitante están viendo este tema.

MinusFour

Cita de: Shell Root en 23 Noviembre 2014, 02:34 AM
Pues si quieres esa consulta no usaría LIKE,
Código (sql) [Seleccionar]
SELECT * FROM tabla WHERE campo = 'test';
Pues porque necesitas la posición, pero cuando necesitas sólo sacar registros con x caracteristicas que?

Bueno me he olvidado los %. Sería algo como esto:

Código (mysql) [Seleccionar]

SELECT * FROM tabla WHERE campo LIKE '%test%'


Adaptable tambien para '%test' y 'test%'. Todo depende de que tipo de query necesita.

peib0l

Cita de: MinusFour en 22 Noviembre 2014, 19:58 PM
Podrias usar strpos:

Código (php) [Seleccionar]

if(strpos($texto, $busqueda) !== false) {
  echo 'ocurrencia detectada';
}


Bueno, esto es exactamente lo que buscaba, algo que me diga si esta o no, claro que por la complejidad del idioma he tenido que "arreglar" las cadenas de texto y para completarlo como puso Dimitrix lo muestro de forma diferente. 

MinusFour

Cita de: dimitrix en 23 Noviembre 2014, 02:52 AM
Por eso he dicho "en ocasiones", en ocasiones lo puedo necesitar para virsas cosas, como por ejemplo:

- Si es la última palabra, añadir "..."
- Cortar todo el texto "hasta la palabra" y poner antes "..."
- etc.

Son ejemplos, aunq  el segundo creo que se podría hacer también con expr. regulares.

Por cierto, un poco offtopic pero preg_match tambien te permite obtener las posiciones de los strings y en ese sentido es mucho más completo que strpos.

http://codepad.viper-7.com/FTB827

dimitrix

Cita de: MinusFour en 23 Noviembre 2014, 17:27 PM
Por cierto, un poco offtopic pero PHP tambien te permite obtener las posiciones de los strings y en ese sentido es mucho más completo que strpos.

http://codepad.viper-7.com/FTB827

Calla, los mayores estamos hablando xDDDDD

Ahora en serio, el problema es que eso sólo te sirve para un carácter ^^