En la BD tengo una tabla con un campo tipo text donde están las ids de todos los usuarios que un determinado usuario tiene bloqueados. Cada vez que un usuario bloquea a otro se añade al campo 'bloqueados' un guión y la id del usuario bloqueado. De esta manera, el campo bloqueados de cada usuario tendría esta forma:
-42-154-88 etc.
Vale, ahora se trata de que cuando un usuario busca a otros, no le salgan aquellos usuarios que tiene bloqueados dicho usuario. Lo he probado de dos maneras diferentes, partiendo de la premisa de que la variable $id contiene la id de un usuario bloqueado.
Código PHP:
Ver original
"SELECT nick FROM usuarios WHERE conectado = 's' AND bloqueados NOT LIKE '%-$id-%'";
y tampoco funciona así
Código PHP:
Ver original
"SELECT nick FROM usuarios WHERE conectado = 's' AND NOT EXISTS ( SELECT nick FROM usuarios WHERE bloqueados LIKE '%-$id-%' )";
Lo curioso es que si lo hago al revés, esto es, LIKE en lugar de NOT LIKE, encuentro a los usuarios bloqueados, así que por lo tanto lo que estoy haciendo mal tiene que ver con la negación de la condición, pero no sé ver el fallo.
Gracias anticipadas y perdón por el ladrillazo que he soltado.