Estrarre da un db mysql le mail, eliminando le doppie

gandalf1959

Utente Attivo
21 Nov 2013
208
1
18
Buongiorno a tutti,
questa cosa non so proprio come si fa...
Ho una tabella, per gli utenti inseriti nelle liste di attesa delle lezioni di cucina, all'interno di un db che contiene quindi una serie di nominativi ripetuti anche più volte, ovviamente con le stesse mail.
Devo poter mandare una mail a tutti gli iscritti nelle liste di attesa, ma naturalmente se una persona si è inserita in 10 lezioni devo mandarle una sola mail.
Quindi devo selezionare tutte le mail e poi togliere le mail doppie (o triple, o quadruple... ).
Come si fa? Si può?
Grazie per i suggerimenti
 
no perchè a volte iscrivendosi le persone una volta si chiamano "Edo" la volta dopo "Edoardo" eccetera (per esempio).
Sto provando con SELECT DISTINCT che nel frattempo ho trovato cercando su google.
Se ho capito bene dovrebbe essere perfetto.
Ti so dire
 
ciao
allora fai
GROUP BY email

dimenticavo
se i tuoi utenti sono registrati non deve accadere che una volta si chiami edo ed una volta edoardo
 
Ho avuto un problema simile anch'io e proprio su questo forum mi avevano aiutato a risolverlo con un metodo simile a questo:

PHP:
$unique = array();
$email_list_sql = 'SELECT * FROM email_table';
$email_list_query = mysql_query($email_list_sql) or die (mysql_error());
while($email_list_r = mysql_fetch_array($email_list_query)){
    $email  = $email_list_r['email'];
    if (!in_array($email, $unique)) {
        echo $email.'<br>';
        array_push($unique, $email);
    }
    
}
 
ciao
secondo me è più semplice con group by, se ha una tabella tipo
1 edo [email protected]
2 edoardo [email protected]
3 sofonisba [email protected]
....
99 1 edisio [email protected]
...
998 3 sofonia [email protected]
..ecc
con
PHP:
<?php
//.....
$query="SELECT email FROM tabella GROUP BY eamail";
$ris=mysqli_query($conn, $query);
while($riga=mydsql_fetch_assoc($ris)){
    $indirizzo=$riga['email'];
    mail($indirizzo,'prova','invio di prova');
}
//....
?>
estrai e invii uno sola volta per indirizzo email
 
E' uno script generico da adattare alle esigenze del caso ovviamente e non fa differenza quante colonne abbia la tabella.
In ogni caso inviare una mail alla volta ha i suoi vantaggi primo fra tutti l'abbssamento del rischio filtri antispam.

ciao
secondo me è più semplice con group by, se ha una tabella tipo
con
PHP:
<?php
//.....
$query="SELECT email FROM tabella GROUP BY eamail";
$ris=mysqli_query($conn, $query);
while($riga=mydsql_fetch_assoc($ris)){
    $indirizzo=$riga['email'];
    mail($indirizzo,'prova','invio di prova');
}
//....
?>
estrai e invii uno sola volta per indirizzo email
 

Discussioni simili