PHP - Como hacer un listado de usuarios...

 
Vista:

Como hacer un listado de usuarios...

Publicado por Akerbeltz (9 intervenciones) el 08/03/2003 21:39:18
...desde una base de datos, cuyo nick empiece por simbolos?

Listo sin problemas los usuarios que empiezan por A, por B, por C, etc...pero los que empiezan por simbolos como ^_`> etc, no hay manera, he probado varias cosas, como esta, que no me funciona:

$result=mysql_query("Select * From gente where user like 'a%' and like 'b%' order by user asc",$link);

¿Cómo puedo hacer dos likes en una misma consulta?

¿Se puede hacer q si no esta selecionado un check en concreto no se vea una parte del codigo?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Como usar REGEXP correctamente en MYSQL

Publicado por xxx (35 intervenciones) el 09/03/2003 08:14:52
$result=mysql_query("Select * From gente where user like 'a%' and like 'b%' order by user asc",$link);

no puedes hacer nada con eso, poruqe es imposible que una entrada comienze con la letra a y comienze con la letra b
lo que creo que quieres hacer, debes hacerlo con OR en lugar de con AND

y para hacer que te seleccione a todos los usuario que no comienzan letras, puedes divirlos en dos grupos,
los nuemriocs (con nuemero del 0 al 9) y lo que tiene simbolos.

mira.. no se como funciona LIKE porque siempre utilizo REGEXP (que es mucho mejor que LIKE, ya que este es para cosas sencillitas).

pero supongo que esto simple lo debe interpretar que el mismo modo de REGEXP

para seleccionar todos los que comienzan con numeros puedes usar:

. . . WHERE REGEXP '^[0-9].*' . . .

y para la segunda parte utiliza:
. . . WHERE REGEXP '[^a-zA-z0-9].*' . . .
o la puedes negar lo ya negado autilizando:
. . . WHERE NOT REGEXP '^[a-zA-Z0-9].*'

hay que tener en cuenta que estas expresiones regulares no son las mismas que se utilizan en php en las funciones del tipo ereg()
del tipo POSIX. (extendidas)

el manual esta aqui: (en ingles,.. pido disculpas).
http://jamesthornton.com/linux/man/regex.7.html
y
http://jamesthornton.com/linux/man/regex.3.html

.. de todos modos desearia que MySQL utilizara expresiones regulares compatibles con perl (PCRE)

PD: siempre que quieras negar utiliza NOT delante de LIKE o REGEXP y no vayas a hacer algo del tipo REGEXP != '[algunaexpresionaqui]'

otra cosa.
puedes usa RLIKE en lugar de REGEXP (son sinonimos)

Pd2: era mysql lo que usabas, verdad? espero no haber usado todo esta explicacion para que termines usando otra base de datos (bueno, de todos modos creo que esto es SQL estandar para todas las bases de datos SQL)

bye
xxx
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como usar REGEXP correctamente en MYSQL

Publicado por Akerbeltz (9 intervenciones) el 09/03/2003 19:23:16
muchas gracias, ya lo solucioné
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar