weil es ja auch keine zeile namens "unbegrenzt" gibt
weil es ja auch keine zeile namens "unbegrenzt" gibt
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:
Vermutlich bekommst du dann für deinen Testuser mehrere Zeilen?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
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.
Kill one man, and you are a murderer.
Kill millions of men, and you are a conqueror.
Kill them all, and you are a god. - Jean Rostand, Thoughts of a Biologist (1939)
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"
Kill one man, and you are a murderer.
Kill millions of men, and you are a conqueror.
Kill them all, and you are a god. - Jean Rostand, Thoughts of a Biologist (1939)
Ich habe das jetzt so gelöst und es geht auch es wird auch unbegrenzt angezeigt.
Es wird bei allen usern so angezeigt.PHP-Code:
<?
$up=mysql_fetch_array(mysql_query("SELECT t2.name AS upgrade, t1.gueltig_bis AS gueltig
FROM ".$db_prefix."_goldmember t1
LEFT JOIN ".$db_prefix."_goldbonus t2 ON t2.id=t1.bonus
WHERE t1.uid='".$_SESSION["uid"]."' AND t1.gueltig_bis>='".time()."' LIMIT 1"));
$pu=mysql_fetch_array(mysql_query("SELECT t2.name AS upgrade, t1.unbegrenzt AS unbegrenzt FROM ".$db_prefix."_goldmember t1
LEFT JOIN ".$db_prefix."_goldbonus t2 ON t2.id=t1.bonus LIMIT 1"));
?>
<table width="100%" border="0" cellpadding="1" cellspacing="1">
<tr>
<td align="left">Dein Aktuelles Premium:</td><td align="left"><?php print $up['upgrade']; ?><?php if($pu['unbegrenzt']==1) print'Für immer Premium';?></td>
</tr>
<tr>
<td align="left">Das Premium ist Gültig bis:</td><td align="left"><?php if($pu['unbegrenzt']==1) print'unbegrenzt gültig'; else print date("d.m.Y G:h",$up['gueltig']); ?></td>
</tr>
</table>
LG Sascha2703