Jan: MySQL Einträge herausholen

Hallo,

ich bin gerade dabei zu versuchen ein Newsletter Script zu schreiben, scheitere allerdings schon an einer für euch einfache Sache:

Ich hole mir, die Aussage das der User den Partyletter erhalten möchte aus der Tabelle user_details

mit folgender Abfrage

$user = mysql_query("SELECT uid FROM user_details WHERE partyletter='Y'");
und verfahre weiter damit das ich mir nun aus der Tabelle user die email Adresse
mit folgender Abfrage
$email = mysql_query("SELECT * FROM user where id='$user'");

dieses setzte ich nun in eine while schleife mit der Anweisung

while($data = mysql_fetch_array($email)) {

....

}

in der Ausgabe bekomme ich allerdings nur einen Datensatz angezeigt, obwohl 45 vorhanden sind.
Was ist zu tun, was mache ich evtl falsch?

MFG Jan

  1. Hallo,

    $user = mysql_query("SELECT uid FROM user_details WHERE partyletter='Y'");

    $user ist nicht EINER, sondern der Zeiger auf eine Menge.

    $email = mysql_query("SELECT * FROM user where id='$user'");

    Welcher user soll das denn sein?

    while($data = mysql_fetch_array($email)) {

    Hier machst du mysql_fetch_array(...), solltest do oben auch machen.

    LG Kalle

    1. Hallo Kalle,

      $user = mysql_query("SELECT uid FROM user_details WHERE partyletter='Y'");
      $user ist nicht EINER, sondern der Zeiger auf eine Menge.

      Ja, die Menge die das Feld partyletter in user_details als ja gekennzeichnet haben!
      Jetzt möchte ich die uid die ich von denen habe wo partyletter='Y' ist, an die Tabelle User senden, um mir die email adressen von diesen herauszugeben.

      MFG Jan

      1. Hi,

        Ja, die Menge die das Feld partyletter in user_details als ja gekennzeichnet haben!

        Ja, richtig, genau, nur damit kann PHP so erstmal nicht viel anfangen. Du wirst die jetzt mit mysql_fetch_assoc oder sonstwas durchgehen müssen um dir jede ID einzeln zu holen.

        Jetzt möchte ich die uid die ich von denen habe wo partyletter='Y' ist, an die Tabelle User senden, um mir die email adressen von diesen herauszugeben.

        Dazu gibt's verschiedene Möglichkeiten. Du kannst das entweder einzeln machen, dazu musst du die Abfrage in die while-Schleife reinsetzen, in der du dir oben die einzelnen Sätze holst.

        Aber fragen wir mal anders: Welche MySQL-Version ist das? Wenn beide Abfragen auf ein und  der selben Datenbank laufen wäre das sehr viel schöner über einen JOIN oder ein SubSelect zu machen.

        MfG
        Rouven

        --
        -------------------
        ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(