MySQL Einträge herausholen
Jan
- php
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
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
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
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