Mailinglisten-Archive |
This is a multi-part message in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_001_01C21760.92062250 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Ok, ihr habt es so gewollt: Zuerst habe ich mal mit nem Skript alle Emailaddys formatiert, so das evt. Leer=B4zeichen etc wegfallen: Die Dateien werden ausgelesen und so formatiert (PHP): while ($row =3D mysql_fetch_array($result)) { $optetMail =3D trim($row[email]); if ( $optetMail !=3D $row[email] ) { $arrMail[$i] =3D $row[email]; $sql_optimized =3D " UPDATE LIST_testliste SET email =3D '".$optetMail."' WHERE id =3D '".$row[id]."' AND email =3D '".$row[email]."' AND status =3D '".$row[status]."' "; =20 if ( mysql_query($sql_optimized) ) { $arrMail[$i] =3D $row[email]; $i++; =20 } =20 } } Dies funktioniert, wie ich sp=E4ter per Mail von dieser Liste bekommen = habe (leider zu sp=E4t), auch so: UPDATE tabelle SET spaltenname =3D TRIM(spaltenname); Anschlie=DFend, jetzt kommt das eigentlich interessante, werden die doppelten Emailaddys ausgelesen: SELECT id,email,status,COUNT(email) AS ce=20 FROM LIST_".$liste." GROUP BY 'email' HAVING ce >=3D 2=20 Das Ergebnissresult wird dann einfach gel=F6scht :) Ich bin sicher ich habs irgendwie immer noch zu umst=E4ndlich gemacht. Aber das ging jetzt f=FCr mich so am schnellsten. jedenfalls hat mir = das gezeigt, das ich mich noch mehr mit MySQL befassen sollte, um alles auszunutzen = was geht. Danke _(at)_all, Chris -----Urspr=FCngliche Nachricht----- Von: HMeissner_(at)_dgverlag.de [mailto:HMeissner_(at)_dgverlag.de] Gesendet: Mittwoch, 19. Juni 2002 08:31 An: mysql-de_(at)_lists.4t2.com Betreff: AW: Doppelte Eintr=E4ge ausfiltern l=F6sungen posten ist in -----Urspr=FCngliche Nachricht----- Von: Grobmeier, Christian [mailto:Christian.Grobmeier_(at)_KirchGruppe.de] Gesendet: Mittwoch, 19. Juni 2002 08:09 An: 'mysql-de_(at)_lists.4t2.com' Betreff: AW: Doppelte Eintr=E4ge ausfiltern Hallo, ich hatte einen Vergleich, allerdings hatte der einen Fehler: wenn eine Emailadresse beispielsweise ein leerzeichen hinten dran = hatte, wurde es nicht erkannt. Das ist zwar jetzt berichtigt, aber es mu=DF = die alte Liste korrigiert werden. Aber das habe ich ja jetzt gut hingekriegt, dank der tausend Tips von = den Leuten hier *FG* Also: vielen Dank nochmal! Wenns jemand interessiert wie ich das gemacht habe, darf mir ja ne = Email schreiben. Oder ist es =FCblich das man die L=F6sung hier postet? Sch=F6nen Gru=DF + n fettes Danke Chris -----Urspr=FCngliche Nachricht----- Von: Potsdam14473_(at)_aol.com [mailto:Potsdam14473_(at)_aol.com] Gesendet: Dienstag, 18. Juni 2002 21:28 An: mysql-de_(at)_lists.4t2.com Betreff: Re: Doppelte Eintr=E4ge ausfiltern Hi, warum nutzt Du nicht einfach vor dem eintragen in die Datenbank einen Vergleich? Ganz einfach wenn das, was eingetragen werden soll schon=20 vorhanden ist, dann kommt eine entsprechende Meldung und wenn nicht, = dann eintragen und Erfolgsmeldung ausdrucken! if..else! Gruss Thomas Hallo _(at)_all,=20 ich habe ein Programm in PHP geschrieben das Emails versendet.=20 Dies funktioniert alles bestens, bis auf die Tatsache das trotz=20 meiner Funktion, die doppelte Anmeldung verhindern sollte, nicht = richtig funktionierte.=20 Jetzt habe ich in meiner Liste Newsletter-Empf=E4nger, die teilweise 4x = darin stehen,=20 so auch =F6fter den Letter bekommen.=20 Irgendwie mu=DF ich jetzt versuchen die Tabelle auszufiltern, wobei ich = leider nicht=20 genau wei=DF ob man das =FCberhaupt in MySQL direkt machen kann oder ob = ich mich tats=E4chlich hinsetzen mu=DF und ein Skript schreiben.=20 Gibt es vielleicht eine Funtktion die das f=FCr mich erledigt?=20 Wenn ja, wo kann ich dar=FCber nachlesen bzw. wie funktioniert das?=20 Vielen Dank schonmal im vorraus, und nen sch=F6nen Tag noch,=20 Chris Stellen Sie sich vor, Sie h=E4tten vor einigen Jahren die Chance gehabt bei einer Fa. namens AOL an allen Ums=E4tzen von Mitgliedern zu profitieren, die nach Ihnen einsteigen! http://iconnectstar.here4u.de=20 ------_=_NextPart_001_01C21760.92062250 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">=0D <HTML>=0D <HEAD>=0D <META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; charset=3Diso-8859-= 1">=0D <META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version 5.5.2653.12"= >=0D <TITLE>Doppelte Eintr=E4ge ausfiltern - Die L=F6sung</TITLE>=0D </HEAD>=0D <BODY>=0D =0D <P><FONT SIZE=3D2>Ok, ihr habt es so gewollt:</FONT>=0D </P>=0D =0D <P><FONT SIZE=3D2>Zuerst habe ich mal mit nem Skript alle Emailaddys format= iert,</FONT>=0D <BR><FONT SIZE=3D2>so das evt. Leer=B4zeichen etc wegfallen:</FONT>=0D </P>=0D =0D <P><FONT SIZE=3D2>Die Dateien werden ausgelesen und so formatiert (PHP):</F= ONT>=0D </P>=0D =0D <P><FONT SIZE=3D2>while ($row =3D mysql_fetch_array($result))</FONT>=0D <BR><FONT SIZE=3D2>{</FONT>=0D <BR><FONT SIZE=3D2> $optetMail =3D trim($row[email]);</FONT>=0D <BR><FONT SIZE=3D2> if ( $optetMail !=3D $row[email] )</FONT>=0D <BR><FONT SIZE=3D2> {</FONT>=0D <BR><FONT SIZE=3D2> $arrMail[$i] =3D $row[email];</FONT>=0D <BR><FONT SIZE=3D2> $sql_optimized =3D "</FONT>=0D <BR><FONT SIZE=3D2> UPDATE LIST_testliste</FONT>=0D <BR><FONT SIZE=3D2> SET email =3D '&quo= t;.$optetMail."'</FONT>=0D <BR><FONT SIZE=3D2> WHERE id =3D '"= ;.$row[id]."'</FONT>=0D <BR><FONT SIZE=3D2> AND email =3D '&quo= t;.$row[email]."'</FONT>=0D <BR><FONT SIZE=3D2> AND status =3D '&qu= ot;.$row[status]."'</FONT>=0D <BR><FONT SIZE=3D2> ";</FONT>=0D <BR><FONT SIZE=3D2> </FONT>=0D <BR><FONT SIZE=3D2> if ( mysql_query($sql_optimized) )</FONT>=0D <BR><FONT SIZE=3D2> {</FONT>=0D <BR><FONT SIZE=3D2> $arrMail[$i] =3D $row[email];</FONT>=0D <BR><FONT SIZE=3D2> $i++; </FONT>=0D <BR><FONT SIZE=3D2> }</FONT>=0D <BR><FONT SIZE=3D2> </FONT>=0D <BR><FONT SIZE=3D2> }</FONT>=0D <BR><FONT SIZE=3D2>}</FONT>=0D </P>=0D <BR>=0D =0D <P><FONT SIZE=3D2>Dies funktioniert, wie ich sp=E4ter per Mail von dieser L= iste bekommen habe (leider zu sp=E4t),</FONT>=0D <BR><FONT SIZE=3D2>auch so:</FONT>=0D <BR><FONT SIZE=3D2>UPDATE tabelle SET spaltenname =3D TRIM(spaltenname);</F= ONT>=0D </P>=0D <BR>=0D <BR>=0D =0D <P><FONT SIZE=3D2>Anschlie=DFend, jetzt kommt das eigentlich interessante,<= /FONT>=0D <BR><FONT SIZE=3D2>werden die doppelten Emailaddys ausgelesen:</FONT>=0D </P>=0D =0D <P><FONT SIZE=3D2>SELECT id,email,status,COUNT(email) AS ce </FONT>=0D <BR> <FONT SIZE=3D2>FROM LIST_&qu= ot;.$liste."</FONT>=0D <BR> <FONT SIZE=3D2>GROUP BY 'ema= il'</FONT>=0D <BR> <FONT SIZE=3D2>HAVING ce >= ;=3D 2 </FONT>=0D </P>=0D =0D <P><FONT SIZE=3D2>Das Ergebnissresult wird dann einfach gel=F6scht :)</FONT= >=0D </P>=0D =0D <P><FONT SIZE=3D2>Ich bin sicher ich habs irgendwie immer noch zu umst=E4nd= lich gemacht.</FONT>=0D <BR><FONT SIZE=3D2>Aber das ging jetzt f=FCr mich so am schnellsten. jedenf= alls hat mir das gezeigt,</FONT>=0D <BR><FONT SIZE=3D2>das ich mich noch mehr mit MySQL befassen sollte, um all= es auszunutzen was geht.</FONT>=0D </P>=0D =0D <P><FONT SIZE=3D2>Danke _(at)_all,</FONT>=0D <BR><FONT SIZE=3D2>Chris</FONT>=0D </P>=0D <BR>=0D <BR>=0D <BR>=0D =0D <P><FONT SIZE=3D2>-----Urspr=FCngliche Nachricht-----</FONT>=0D <BR><FONT SIZE=3D2>Von: HMeissner_(at)_dgverlag.de [<A HREF=3D"mailto:HMeissner_(at)_= dgverlag.de">mailto:HMeissner_(at)_dgverlag.de</A>]</FONT>=0D <BR><FONT SIZE=3D2>Gesendet: Mittwoch, 19. Juni 2002 08:31</FONT>=0D <BR><FONT SIZE=3D2>An: mysql-de_(at)_lists.4t2.com</FONT>=0D <BR><FONT SIZE=3D2>Betreff: AW: Doppelte Eintr=E4ge ausfiltern</FONT>=0D </P>=0D <BR>=0D =0D <P><FONT SIZE=3D2>l=F6sungen posten ist in</FONT>=0D </P>=0D =0D <P><FONT SIZE=3D2>-----Urspr=FCngliche Nachricht-----</FONT>=0D <BR><FONT SIZE=3D2>Von: Grobmeier, Christian [<A HREF=3D"mailto:Christian.G= robmeier_(at)_KirchGruppe.de">mailto:Christian.Grobmeier_(at)_KirchGruppe.de</A>]</FO= NT>=0D <BR><FONT SIZE=3D2>Gesendet: Mittwoch, 19. Juni 2002 08:09</FONT>=0D <BR><FONT SIZE=3D2>An: 'mysql-de_(at)_lists.4t2.com'</FONT>=0D <BR><FONT SIZE=3D2>Betreff: AW: Doppelte Eintr=E4ge ausfiltern</FONT>=0D </P>=0D <BR>=0D =0D <P><FONT SIZE=3D2>Hallo,</FONT>=0D <BR><FONT SIZE=3D2>ich hatte einen Vergleich, allerdings hatte der einen Fe= hler:</FONT>=0D <BR><FONT SIZE=3D2>wenn eine Emailadresse beispielsweise ein leerzeichen hi= nten dran hatte,</FONT>=0D <BR><FONT SIZE=3D2>wurde es nicht erkannt. Das ist zwar jetzt berichtigt, a= ber es mu=DF die alte Liste korrigiert werden.</FONT>=0D <BR><FONT SIZE=3D2>Aber das habe ich ja jetzt gut hingekriegt, dank der tau= send Tips von den Leuten hier *FG*</FONT>=0D </P>=0D =0D <P><FONT SIZE=3D2>Also: vielen Dank nochmal!</FONT>=0D <BR><FONT SIZE=3D2>Wenns jemand interessiert wie ich das gemacht habe, darf= mir ja ne Email schreiben.</FONT>=0D <BR><FONT SIZE=3D2>Oder ist es =FCblich das man die L=F6sung hier postet?</= FONT>=0D </P>=0D =0D <P><FONT SIZE=3D2>Sch=F6nen Gru=DF + n fettes Danke</FONT>=0D <BR><FONT SIZE=3D2>Chris</FONT>=0D <BR><FONT SIZE=3D2>-----Urspr=FCngliche Nachricht-----</FONT>=0D <BR><FONT SIZE=3D2>Von: Potsdam14473_(at)_aol.com [<A HREF=3D"mailto:Potsdam1447= 3_(at)_aol.com">mailto:Potsdam14473_(at)_aol.com</A>]</FONT>=0D <BR><FONT SIZE=3D2>Gesendet: Dienstag, 18. Juni 2002 21:28</FONT>=0D <BR><FONT SIZE=3D2>An: mysql-de_(at)_lists.4t2.com</FONT>=0D <BR><FONT SIZE=3D2>Betreff: Re: Doppelte Eintr=E4ge ausfiltern</FONT>=0D </P>=0D <BR>=0D =0D <P><FONT SIZE=3D2>Hi,</FONT>=0D </P>=0D =0D <P><FONT SIZE=3D2>warum nutzt Du nicht einfach vor dem eintragen in die Dat= enbank einen Vergleich?</FONT>=0D <BR><FONT SIZE=3D2>Ganz einfach wenn das, was eingetragen werden soll schon= </FONT>=0D <BR><FONT SIZE=3D2>vorhanden ist, dann kommt eine entsprechende Meldung und= wenn nicht, dann eintragen und Erfolgsmeldung ausdrucken!</FONT>=0D <BR><FONT SIZE=3D2>if..else!</FONT>=0D </P>=0D =0D <P><FONT SIZE=3D2>Gruss</FONT>=0D <BR><FONT SIZE=3D2>Thomas</FONT>=0D </P>=0D <BR>=0D <BR>=0D =0D <P><FONT SIZE=3D2>Hallo _(at)_all, </FONT>=0D </P>=0D =0D <P><FONT SIZE=3D2>ich habe ein Programm in PHP geschrieben das Emails verse= ndet. </FONT>=0D <BR><FONT SIZE=3D2>Dies funktioniert alles bestens, bis auf die Tatsache da= s trotz </FONT>=0D <BR><FONT SIZE=3D2>meiner Funktion, die doppelte Anmeldung verhindern sollt= e, nicht richtig funktionierte. </FONT>=0D </P>=0D =0D <P><FONT SIZE=3D2>Jetzt habe ich in meiner Liste Newsletter-Empf=E4nger, di= e teilweise 4x darin stehen, </FONT>=0D <BR><FONT SIZE=3D2>so auch =F6fter den Letter bekommen. </FONT>=0D </P>=0D =0D <P><FONT SIZE=3D2>Irgendwie mu=DF ich jetzt versuchen die Tabelle auszufilt= ern, wobei ich leider nicht </FONT>=0D <BR><FONT SIZE=3D2>genau wei=DF ob man das =FCberhaupt in MySQL direkt mach= en kann oder ob ich mich </FONT>=0D <BR><FONT SIZE=3D2>tats=E4chlich hinsetzen mu=DF und ein Skript schreiben. = </FONT>=0D </P>=0D =0D <P><FONT SIZE=3D2>Gibt es vielleicht eine Funtktion die das f=FCr mich erle= digt? </FONT>=0D <BR><FONT SIZE=3D2>Wenn ja, wo kann ich dar=FCber nachlesen bzw. wie funkti= oniert das? </FONT>=0D </P>=0D =0D <P><FONT SIZE=3D2>Vielen Dank schonmal im vorraus, und nen sch=F6nen Tag no= ch, </FONT>=0D </P>=0D =0D <P><FONT SIZE=3D2>Chris</FONT>=0D </P>=0D <BR>=0D <BR>=0D <BR>=0D <BR>=0D =0D <P><FONT SIZE=3D2>Stellen Sie sich vor, Sie h=E4tten vor einigen</FONT>=0D <BR><FONT SIZE=3D2>Jahren die Chance gehabt bei einer Fa. namens AOL</FONT>= =0D <BR><FONT SIZE=3D2>an allen Ums=E4tzen von Mitgliedern zu profitieren, die = nach Ihnen</FONT>=0D <BR><FONT SIZE=3D2>einsteigen!</FONT>=0D <BR><FONT SIZE=3D2><A HREF=3D"http://iconnectstar.here4u.de" TARGET=3D"_bla= nk">http://iconnectstar.here4u.de</A> </FONT>=0D </P>=0D =0D </BODY>=0D </HTML>=0D ------_=_NextPart_001_01C21760.92062250-- --- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive