Foros del Web » Programando para Internet » PHP »

Saber si un mail ya existe

Estas en el tema de Saber si un mail ya existe en el foro de PHP en Foros del Web. Buenas yo recibo los mails juntos, son 4 y los 4 los grabdo en el mismo campo en la db, como puedo controlar uno por ...
  #1 (permalink)  
Antiguo 06/04/2010, 13:20
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 20 años, 8 meses
Puntos: 3
Saber si un mail ya existe

Buenas

yo recibo los mails juntos, son 4 y los 4 los grabdo en el mismo campo en la db, como puedo controlar uno por uno?, porque alli esta controlando el campo y variable entera verdad?, yo necesito comparar por separados...

poenele el campo email guarda esto:

[email protected], [email protected],[email protected]

y la variable viene por ejemplo

[email protected],[email protected],[email protected]

Ahi ves repite solo el mail1 como podria controlar asi?

Hago un serialize para guardar el array de mails en la db y me guarda los 4 separados por coma tal cual viene en el array.-

Hago asi

Código PHP:
if(db_fetch_object(db_query("SELECT * FROM base WHERE  email='$mails'"))) {
   print 
"Ya Existen";
    else  {
   print 
"No Existen";?> 
Uso fetch object y db query porque es drupal y lo usa asi.

De esa manera controlo todo el array junto pero no uno por uno.
  #2 (permalink)  
Antiguo 06/04/2010, 13:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Saber si un mail ya existe

pues debes usar tu creatividad amigo... ;)

osea, para empezar es mala técnica guardar una lista de valores serializados... en todo caso puedes usar LIKE/RLIKE para comprobar con alguna expresión dicha existencia...

pero bueno, no creo que tenga que ver con PHP ... es mas bien cuestión de la consulta...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 06/04/2010, 13:28
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 20 años, 8 meses
Puntos: 3
Respuesta: Saber si un mail ya existe

como recomiendas guardar un array? para no tener que andar agregando un campo cada vez que agrego un campo de mail hago asi...sino agrego un 5to field para otro mail y tengo que agregar otro campo en la base, entonces guardo todos en uno solo....pero no se cual es la mejor manera.
  #4 (permalink)  
Antiguo 06/04/2010, 13:32
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Saber si un mail ya existe

si vas a guardar múltiples datos entonces lo mejor sería crear una tabla adicional, y en ella almacenar uno-a-uno los valores, obviamente relacionados...

así, cuando realices la consulta es muy sencilla... y siempre da un valor preciso!! (:
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 06/04/2010, 13:34
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 20 años, 8 meses
Puntos: 3
Respuesta: Saber si un mail ya existe

yo ahora tengo una tabla con

id
usuarioid
email

en email guardo todos los campos del array...y asi...sino como decis?
email1
email2
email3
?
  #6 (permalink)  
Antiguo 06/04/2010, 13:37
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Saber si un mail ya existe

me refiero a otra tabla -no columna- completamente nueva, la cual solo tenga tres columnas: ID, id_usuario, email

asi... cuando agregues un email relacionado con el id_usuario insertas un nuevo registro en dicha tabla, y cuando necesites comprobar que no exista dicho email para dicho usuario la consulta es muy simple:
Cita:
SELECT * FROM tabla_emails WHERE email = '[email protected]' AND id_usuario = 99
esto es mejor ya que siempre obtienes resultados precisos acerca de la información, ya que como te comentaba guardar información serializada es muy difícil de analizar y comparar con consultas...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 06/04/2010, 13:42
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Respuesta: Saber si un mail ya existe

Retomo lo dicho lo por pateketrueke:

Si son n cantidad de correos, crea una tabla aparte para guardar esos correo como un registro uno por uno, pero teniendo como fk el id del usuario en dicha tabla.

Pero si aún insistes en seguir guardando los emails de esa manera, podrías hacer una explode por , y jugar con eso.

Código PHP:
Ver original
  1. $arrayEmails = explode ( ',', $cadenaEmails );
  2. foreach ( $arrayEmails as $aE  ) {
  3.     echo "Email: $aE<br />";
  4. }

Es una idea...

Repito: si son n cantidad de emails hazle caso a pateketrueke

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com

Etiquetas: existe, mail
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 11:36.