Mike: mySQL: Einträge durch Simikolon trennen lassen?

Hi,

ich möchte eine Tabelle, in der mehrere eMail-Adressen stehen, abfragen.

$abfrage = "SELECT email FROM hostdaten";
$ergebnis = mysql_query($abfrage);
while ($row = mysql_fetch_array ($ergebnis))
 {
 echo $row[email];
 }

Die Ausgabe lautet jetzt zum Beispiel:
test12@gmx.nettest33@hotmail.comtest24354@irgendwas.de

Das ist natürlich nicht schön... ich möchte, dass jede eMail-Adresse von der anderen durch ein Simikolon getrennt wird, also:
test12@gmx.net; test33@hotmail.com; test24354@irgendwas.de

Weiss jemand, wie ich das mache?

Grüsse
Mike

  1. hi

    $abfrage = "SELECT email FROM hostdaten";
    $ergebnis = mysql_query($abfrage);
    while ($row = mysql_fetch_array ($ergebnis))
    {
    echo $row[email];
    }

    Die Ausgabe lautet jetzt zum Beispiel:
    test12@gmx.nettest33@hotmail.comtest24354@irgendwas.de

    Das ist natürlich nicht schön... ich möchte, dass jede eMail-Adresse von der anderen durch ein Simikolon getrennt wird, also:
    test12@gmx.net; test33@hotmail.com; test24354@irgendwas.de

    versuch einfach mal in der whileschleife das:
    $bla = "implode(";",$row);
    echo $bla;
    zu schreiben (hat den Vorteil dass du die gesammte Ausgabe in einer Variablen hast und $bla mehrmals bzw. woanders verwenden kannst) oder du schreibst unter dein echo $row[email]; einfach noch echo ";"; drunter das müsste auch funktionieren.

    gruß
    Tobias

    1. Hall0!

      $abfrage = "SELECT email FROM hostdaten";
      $ergebnis = mysql_query($abfrage);
      while ($row = mysql_fetch_array ($ergebnis))
      {
      echo $row[email];
      }

      Die Ausgabe lautet jetzt zum Beispiel:
      test12@gmx.nettest33@hotmail.comtest24354@irgendwas.de

      Das ist natürlich nicht schön... ich möchte, dass jede eMail-Adresse von der anderen durch ein Simikolon getrennt wird, also:
      test12@gmx.net; test33@hotmail.com; test24354@irgendwas.de

      versuch einfach mal in der whileschleife das:
      $bla = "implode(";",$row);
      echo $bla;
      zu schreiben (hat den Vorteil dass du die gesammte Ausgabe in einer Variablen hast und $bla mehrmals bzw. woanders verwenden kannst) oder du schreibst unter dein echo $row[email]; einfach noch echo ";"; drunter das müsste auch funktionieren.

      Das funktioniert nicht, da $row nur ein Elemant pro Datensatz enthält.

      Die Schleife müßte so heißen:

      while ($row = mysql_fetch_array ($ergebnis)) {
          echo $row[email];
          echo ";";
      }

      Grüße
      Andreas

      1. hi

        versuch einfach mal in der whileschleife das:
        $bla = "implode(";",$row);
        echo $bla;
        zu schreiben (hat den Vorteil dass du die gesammte Ausgabe in einer Variablen hast und $bla mehrmals bzw. woanders verwenden kannst) oder du schreibst unter dein echo $row[email]; einfach noch echo ";"; drunter das müsste auch funktionieren.

        Das funktioniert nicht, da $row nur ein Elemant pro Datensatz enthält.

        Stimmt, bei mir werden jeweils zwei Felder ausgelesen, da funktioniert das.

        Die Schleife müßte so heißen:
        while ($row = mysql_fetch_array ($ergebnis)) {
            echo $row[email];
            echo ";";
        }

        genau den Vorschlag hatte ich doch auch :)

        gruß
        Tobias