A ver si consigo explicarlo, ya que o tengo mucha idea de esto...
La cuestión es que en un formulario, de edicion de usuarios de una web.
* Hay 3 campos fundamentales: el Usuario (Nick), la url de la web del usuario, y el RSS del usuario (otro campo sería la descripción)
En el formulario de creación del usuario no hay problema, ya que si se repite alguno de los 3 campos principales, no se le deja crear el usuario, y listo...
El problema viene en el formulario de EDICION del usuario (actualizacion del registro), ya que:
- Si la URL o el RSS son nuevos (no existen en la tabla), debe dejar introducirlos (por que lo escribió mal al registrarse, por ejemplo)
Si la URL o el RSS EXITEN previamente en la tabla, hay 2 casos
- Que esos campos estén introducidos pero EN OTRO REGISTRO (otro usuario), con loque no debe dejarle usar esa URL o RSS
En cuyo caso no debe dejarle hace nada, y avisar de que o la "URL o el RSS ya está siendo usado por otro usuario por favor contactar con nosotros@no-es-un-email-real.inventado"
- Que esos campos (cualquiera) exista en la tabla, pero sean del mismo registro que se está actualizando:
Esto puede darse cuando un usuario, por ejemplo entra a editar el perfil, no quiere cambiar ni su url, ni su RRS, pero quiere añadir una descripción de su web (o quiere corregir el RSS pero dejar la URL, oviceversa)... y en este caso DEBE DEJARLE ACTUALIZAR EL REGISTRO.
La cuestion es que no se nos ocurre como, si recorremos la tabla revisando si un valor de un campo existe en algún registro de la tabla, ya no le dejará actualizar el registro, con lo cual el usuario solo puede "editarlo" SI CAMBIA EL RSS y la URL
Espero que se haya entendido algo :\
Gracias de antemano.
PD: Lo ideal sería poder hacer algo como:
- Si el RSS o la URL existe, pero existen en el mismo registro donde el USUARIO "X" (que es un campo que no se deja editar, el nick) es igual a "X", entonces dejar actualizar... si el usuario es distinto -> no dejar...
Pero ni idea de si algo así se puede hacer o no.