Zitat Zitat von jpwfour Beitrag anzeigen
Die ganze Abfrage kann so wohl nicht hinkommen.

Da man ja unterscheiden muss, ist der Status unbegrenzt, oder liegt er in einem gewissen Zeitrahmen.

Führ doch mal das in PHPMyAdmin aus:
Code:
SELECT t2.name AS upgrade, t1.gueltig_bis AS gueltig, t1.unbegrenzt AS unbegrenzt 
                FROM vms_goldmember t1
                LEFT JOIN vms_goldbonus t2 ON t2.id=t1.bonus 
                WHERE t1.uid=USERIDXYZ
Vermutlich bekommst du dann für deinen Testuser mehrere Zeilen?
Aktuell wird davon genau eine gewählt, nämlich die (erste) bei dem der Bonus anhand gueltig_bis noch gültig ist. Müsste man jetzt wissen, was da drin steht, wenn der Bonus aber unbegrenzt ist, und dementsprechend mit OR das Verbinden.
Soll ich das als SQL-Text einfügen?

Habe das so auf gegliedert:

3 Tage Premium

7 Tage Premium

14 Tage Premium

30 Tage Premium

60 Tage Premium

180 Tage Premium

360 Tage Premium

Für immer Premium



Zitat Zitat von jpwfour Beitrag anzeigen
Dann hast du den Post aber nicht genau genug gelesen.


Es mag zwar jetzt in dem 1 Fall bei dem 1 Testuser funktionieren, generell wird aber durch das weglassen der 2. WHERE Bedingung ja einfach nur die allererste Zeile für den User genommen.

Egal ob das die mit dem aktuellen Bonus ist, oder ob der Bonus noch gültig ist, sofern zeitlich begrenzt.

Also müsstest du deinem User
a) einen unbegrenzten Bonus geben
b) zeitlich begrenzt, aber noch gültig
c) zeitlich begrenzt, aber schon abgelaufen
d) b+c evtl auch noch mit der Startzeit des Bonus (die es gibt so wie ich das sehe)

Dann kannst du sagen "es geht"
Also es geht so weit bis auf das unbegrenzt.