eMailadressen in txt exportieren

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Xelos
Mitglied
Beiträge: 19
Registriert: 01.07.2004 15:18

eMailadressen in txt exportieren

Beitrag von Xelos »

Hallo phpBB Gemeinde,
ich würde gerne ein Programm nutzen, um Newsletter für das Forum zu versenden.
Leider bin ich mit php und Datenbankabfragen noch nicht sehr weit, so dass ich auf eure Hilfe hoffe.

Ich würde gerne ein Script haben/machen, bei dem alle eMailadressen aus der phpBB Datenbank in eine Textdatei geschrieben werden.

z.B.
abc@cdf.de
ert@aod.com
rtg@sfsf.net
usw...

Könnt ihr mir einen Beispielcode geben?

Grüße
Xelos
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Re: eMailadressen in txt exportieren

Beitrag von Blutgerinsel »

Xelos hat geschrieben: Könnt ihr mir einen Beispielcode geben?
Auf der einen Seite willst du einen Beispielcode haben mit dem du dich vermutlich nicht auseinandersetzen wirst und auf der anderen Seite möchtest du das selber machen und dabei lernen ?

Es gibt bei google Dutzende Scripte die teilweise schon furchtbar sind....

www.schattenbaum.net da bekommst du eine Informationen für die Basics......

Zum Thema kann ich nur eines sagen das du die Schleife nur bröckelweise abarbeiten solltest, da dies sehr Leistungsanfordernd ist. Und wenn du keinen Root Server besitzt behält sich jeder Hoster vor den Prozess zu killen wenn andere virtuelle Server hängen.
Xelos
Mitglied
Beiträge: 19
Registriert: 01.07.2004 15:18

Beitrag von Xelos »

Hallo Blutgerinsel,
da unterstellst du mir was falsches. Ich setze mich mit allem auseinander, was ich machen will.
Leider geht es halt nicht immer so schnell, dass ich es dann kann, wenn ich es brauche.

Könnte es hiermit funktionieren?

Code: Alles auswählen

<?
  mysql_connect("localhost",  "username","passwort");
  mysql_select_db("Datenbank");
  $ergebnis = mysql_query("SELECT email FROM user");
  $datei = fopen("email.txt","w");
  fwrite($datei, $ergebnis);
  fclose($datei);
?>
Gruß
Xelos

PS: Einen Rootserver habe ich.
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Xelos hat geschrieben:Könnte es hiermit funktionieren?

Code: Alles auswählen

$ergebnis = mysql_query("SELECT email FROM user");
fwrite($datei, $ergebnis);
Nicht ganz. mysql_query gibt nur eine Resource zurück, welches du dann als Parameter an Funktionen wie [php:mysql_fetch_array], [php:mysql_num_rows], [php:mysql_result] o.ä. übergibst.
Benutzeravatar
QCO
Mitglied
Beiträge: 708
Registriert: 15.03.2003 12:30
Wohnort: Leipzig

Beitrag von QCO »

Code: Alles auswählen

<?
  mysql_connect("localhost",  "username","passwort");
  mysql_select_db("Datenbank");
  $ergebnis = mysql_query("SELECT email FROM user");
   $text = '';
   while($zeile = mysql_fetch_array($ergebnis) )
   {
     $text .= $zeile['email'] . "\n";
   }
  $datei = fopen("email.txt","w");
  fwrite($datei, $text);
  fclose($datei);
?>
Schnelle direkte Hilfe? Modeinbau? Umfassender, persönlicher Support? Ein individuelles Design/Template?
Ich bin käuflich und löse zu kleinen Preisen Deine Probleme. Anfragen bitte per PN oder Mail.
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

hab da irgendwie was überlesen in meiner Unkonzentriertheit aber.....

das von @QVO ergänzte Script beherbergt kein Fehlerhandling.....

die Mysql Funktionen daher am besten ein @ davor stellen und hinten ein or die (mysql_error()) anhängen. Damit bricht das Script ab was logisch ist weil der Rest nicht gehen kann.

Gleiches gilt bei fopen wenn der Filehandle bzw. der übergebene Pfad üngültig ist wird auch hier ein Fehler auftreten.....

daher die Variable $datei nach einem false abfragen oder besser zuvor den Pfad prüfen mit is_writeable(); ob man überhaupt speichern kann...

BTW: Standardzuweisung bzw. sichersteller der Initparameter
Randbemerkung:
indem Fall text='' wäre unset(); ein geeignetes PHP Mittel.....
Benutzeravatar
QCO
Mitglied
Beiträge: 708
Registriert: 15.03.2003 12:30
Wohnort: Leipzig

Beitrag von QCO »

Also Fehler abfangen erschien mir hier nicht nötig. Er will doch nur einmal die Liste exportieren (-> Liste nicht leer) und wenn eine Fehlermeldung kommt, kann er das Skript anpassen. Aber das ist nicht das Problem...
Meine Frage:
BTW: Standardzuweisung bzw. sichersteller der Initparameter
Randbemerkung:
indem Fall text='' wäre unset(); ein geeignetes PHP Mittel.....
Was willst du mir damit sagen?
Schnelle direkte Hilfe? Modeinbau? Umfassender, persönlicher Support? Ein individuelles Design/Template?
Ich bin käuflich und löse zu kleinen Preisen Deine Probleme. Anfragen bitte per PN oder Mail.
Xelos
Mitglied
Beiträge: 19
Registriert: 01.07.2004 15:18

Beitrag von Xelos »

Danke für eure Hilfe!!!! Ohne hätte es nicht geklappt.

So sieht das fertige und funktionierende Script aus:

Code: Alles auswählen

<?
// eMailadressen aus phpBB Tabelle exportieren
  mysql_connect("localhost(Server)",  "Username","Passwort"); //Datenbank connect
  mysql_select_db("Datenbank"); //Datenbank auswählen
  $ergebnis = mysql_query("SELECT user_email FROM phpbb_users");
 		if (!$ergebnis) {
   						echo 'Fehler: ' . mysql_error();
  						exit;
						}
  $datei = fopen("email.txt","w");
   		while ($row = mysql_fetch_array($ergebnis, MYSQL_NUM)) {
   					if ($row[0]!="") { //Prüfen ob eMailfeld leer ist						
						printf ($row[0] . "<br>"); //Ausgabe auf Bildschirm
						fwrite($datei, $row[0]. "\n"); //Ausgabe in Datei
						}
		}
  fclose($datei);
echo "<br><b>Fertig</b>";
 ?>
Gruß
Xelos
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

QCO hat geschrieben:Also Fehler abfangen erschien mir hier nicht nötig. Er will doch nur einmal die Liste exportieren (-> Liste nicht leer) und wenn eine Fehlermeldung kommt, kann er das Skript anpassen. Aber das ist nicht das Problem...
Meine Frage:
BTW: Standardzuweisung bzw. sichersteller der Initparameter
Randbemerkung:
indem Fall text='' wäre unset(); ein geeignetes PHP Mittel.....
Was willst du mir damit sagen?
http://de2.php.net/manual/de/function.unset.php

BTW: Ich halte nichts von fehlendem Fehlerhandling, da ich zu 100% von Bullshit Daten ausgehe, da man an einen gesunden Menschenverstand heutzutage sich nicht mehr verlassen kann so traurig das auch ist... :roll:
Benutzeravatar
QCO
Mitglied
Beiträge: 708
Registriert: 15.03.2003 12:30
Wohnort: Leipzig

Beitrag von QCO »

Ich weiß was unset macht, aber was soll das hier bringen?
Meine Variablen sind initialisiert, warum sollte ich mit unset rumwerkeln?
Schnelle direkte Hilfe? Modeinbau? Umfassender, persönlicher Support? Ein individuelles Design/Template?
Ich bin käuflich und löse zu kleinen Preisen Deine Probleme. Anfragen bitte per PN oder Mail.
Antworten

Zurück zu „Coding & Technik“