Geburtstage im Index nur von Buddies

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Antworten
Darezettl
Beiträge: 589
Registriert: So 31.Jul, 2005 23:43

Geburtstage im Index nur von Buddies

Beitrag von Darezettl »

Ich möchte beim Birthday Hack von Niels es so machen, dass in der Geburtstags-Anzeige im Forum Index nur User berücksichtigt werden die auf der Buddyliste sind.

In der Anleitung des Hacks soll dies hier (ein Teil) eingefügt werden, welcher die Geburtstage und alles Relevante aus der DB holt:

Code: Alles auswählen

// Birthday Mod, Show users with birthday 
$sql = ($board_config['birthday_check_day']) ? "SELECT user_id, username, user_birthday,user_level FROM " . USERS_TABLE. " WHERE user_birthday!=999999 ORDER BY username" :"";
if($result = $db->sql_query($sql)) 
{
Ist der folgende Code korrekt, wenn ich das o.g. erzielen möchte?

Code: Alles auswählen

// Birthday Mod, Show users with birthday 
$sql = ($board_config['birthday_check_day']) ? "SELECT u.user_id, u.username, u.user_birthday, b.buddy_id, user_level FROM " . BUDDIES_TABLE . " b, " . USERS_TABLE . " u WHERE user_birthday!=999999 AND u.user_id = b.buddy_id ORDER BY u.username" :"";
if($result = $db->sql_query($sql)) 
{
Bild
Life begins @ 1/1000
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ja, es muss aber dann auch "u.user_level" und nicht bloss "user_level" heissen.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Darezettl
Beiträge: 589
Registriert: So 31.Jul, 2005 23:43

Beitrag von Darezettl »

Aber anonsten passts?!??!

Wow.. dass ich auch mal was allein 'zam bring ;)
Bild
Life begins @ 1/1000
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ja, welch Wunder :D
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Darezettl
Beiträge: 589
Registriert: So 31.Jul, 2005 23:43

Beitrag von Darezettl »

okay jetzt werden zwar nur buddies angezeigt im gb-block aber jeder username erscheint 2x.

wie kriegt man das noch weg?
Bild
Life begins @ 1/1000
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

SQL-Wunder group by wäre hier zu verwenden.
Wie das geht, ist auf http://www.mysql.de genauestens beschrieben ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Darezettl
Beiträge: 589
Registriert: So 31.Jul, 2005 23:43

Beitrag von Darezettl »

Aha.. ja so dann?

Code: Alles auswählen


// Birthday Mod, Show users with birthday 
$sql = ($board_config['birthday_check_day']) ? "SELECT u.user_id, u.username, u.user_birthday, b.buddy_id, u.user_level FROM " . BUDDIES_TABLE . " b, " . USERS_TABLE . " u WHERE user_birthday!=999999 AND u.user_id = b.buddy_id GROUP BY u.username" :"";
if($result = $db->sql_query($sql)) 
{
Ist das korrekt?
Bild
Life begins @ 1/1000
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Wenn, dann alle Felder, sonst gibts der Logik nach Datensalat und die Datenbank würde ggf. auch einen SQL-Fehler anzeigen...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Darezettl
Beiträge: 589
Registriert: So 31.Jul, 2005 23:43

Beitrag von Darezettl »

ah okay, verstehe.

also dann statt:

Code: Alles auswählen

GROUP BY u.username" :"";
so

Code: Alles auswählen

GROUP BY" :"";
Bild
Life begins @ 1/1000
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

:hh:
NEIN, ich meinte daß dort alle Felder anzugeben sind, die Du abfragst!
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Darezettl
Beiträge: 589
Registriert: So 31.Jul, 2005 23:43

Beitrag von Darezettl »

okay machen wir's kurz:

ich hab keine ahnung.


das gscheidste ist du postest mir die lösung. ^^
Bild
Life begins @ 1/1000
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

HINTER GROUP BY SOLLEN ALLE FELDNAMEN ANGEGEBEN WERDEN, DIE DU MIT DER ABFRAGE AUS DER DATENBANK HOLST!
ALSO IN DEINEM FALL:

Code: Alles auswählen

GROUP BY u.user_id, u.username, u.user_birthday, b.buddy_id, u.user_level
Und nochmal:
Lies Dir endlich mal Anleitungen und Bücher durch, anstelle hier ständig über die gleichen "Anfängerfragen" Topics zu eröffnen!
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Darezettl
Beiträge: 589
Registriert: So 31.Jul, 2005 23:43

Beitrag von Darezettl »

danke dir.
wenn du lust hast, kannst du mir ja noch erklären was dieses group by bedeutet... dann weiß ich's beim nächsten mal ;)
Bild
Life begins @ 1/1000
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

GROUP BY = Gruppiere nach

Wörtlich übersetzt sogar inhaltlich verständlich ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Antworten