$arrEmailadressen = array_unqiue($arrEmailadressen);
Zet alles in een array en plaats het vervolgens weer terug.
Link gekopieerd
Hoe zet ik alles in Array? :$
Link gekopieerd
OMG, dat is dus de basis van mysql :)
$arr = array();
$sql = "SELECT email FROM emailadress";
$query = mysql_query($sql);
while($array = mysql_fetch_assoc($query))
{
$arr[] = $array['email'];
}
$arr = array_unique($arr);
Link gekopieerd
DELETE FROM
tabel as t1
WHERE
(SELECT COUNT(*) FROM tabel as t2 WHERE t2.email = t1.email) > 2
Volgens mij werkt dit ook al. Je hoeft hem alleen maar in phpMyAdmin uit te voeren. Zou wel effe een backupje maken voordat je hem uitvoert :-P, ben er namelijk niet helemaal zeker van.
Link gekopieerd
@Jezpur, volgens mij heb je gedeeltelijk gelijk, deze zal toch alles wat meer dan twee keer voorkomt verwijderen? dus niet alleen één resultaat?
Link gekopieerd
jezpur en terecht dit kan volgens mij nooit werken
@TS.
Doe eens
CREATE TABLE tabel2 AS SELECT * FROM tabel1 WHERE id = 1
nu heb je een identieke tabel gemaakt met 1 rij erin.
Deze rij gooien we weer weg met DELETE FROM tabel2
Nu maak je in phpmyadmin een UNIQUE constraint aan op tabel2 op het veld email.
Nu tabel1 overpompen met INSERT INTO tabel2 SELECT * FROM tabel1
Er zal nu enkele keren een foutmelding komen op de unique constraint maar die kun je negeren
Link gekopieerd
@steen: dan zou die 2 dus nog een 1 moeten worden. Hm, ja, je hebt gelijk. Maar volgens Klaasjan zal het niet werken. Helaas :-).
Link gekopieerd
Bedankt allemaal!
@Steen, bij jouw code zullen de dubbel voorkomende emailadressen ook verwijderd worden of alleen geselecteerd worden?
Link gekopieerd
Dit is alleen een begin:
Je zult nog 'TRUNCATE TABLE emailadressen' en een lus met 'INSERT INTO emailadressen (email) VALUE ('.$email.')' moeten doen
Link gekopieerd
OMG het lukt me niet :'( Ik ben echt een beginner met SQL... (A)
Okee, laten we maar anders doen. Hoe kan ik alle unieke emailadressen echo'en gescheiden door een coma?
Door foreach toch?
Link gekopieerd