Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 16 von 16

Thema: Goldmember

  1. #11
    Erfahrener Benutzer Avatar von jpwfour
    Registriert seit
    06.02.2008
    Beiträge
    3.717
    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.
    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)

  2. #12
    Erfahrener Benutzer Avatar von sascha2703
    Registriert seit
    22.02.2009
    Beiträge
    149
    Zitat Zitat von jpwfour Beitrag anzeigen
    PHP-Code:
    $up=mysql_fetch_array(mysql_query("SELECT t2.name AS upgrade, t1.gueltig_bis AS gueltig, t1.unbegrenzt AS unbegrenzt 
                    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")); 
    So mal versuchen. Ansonsten lass mal den 2. Teil im WHERE weg, dann müsste aber definitiv eine Ausgabe kommen.
    Es geht nun habe jetzt mal das WHERE wegelassen und es geht Super ich danke allen die geholfen haben.
    LG Sascha2703

  3. #13
    Erfahrener Benutzer Avatar von sascha2703
    Registriert seit
    22.02.2009
    Beiträge
    149
    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.
    Sorry habe dein ersten Post nicht richtig gelessen habe jetzt mal das WHERE wegelassen und es geht SUPER vielen dank noch mal für deine hilfe.
    LG Sascha2703

  4. #14
    Erfahrener Benutzer Avatar von jpwfour
    Registriert seit
    06.02.2008
    Beiträge
    3.717
    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)

  5. #15
    Erfahrener Benutzer Avatar von sascha2703
    Registriert seit
    22.02.2009
    Beiträge
    149
    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.
    LG Sascha2703

  6. #16
    Erfahrener Benutzer Avatar von sascha2703
    Registriert seit
    22.02.2009
    Beiträge
    149
    Ich habe das jetzt so gelöst und es geht auch es wird auch unbegrenzt 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&uuml;r immer Premium';?></td>
    </tr>
    <tr>
    <td align="left">Das Premium ist G&uuml;ltig bis:</td><td align="left"><?php if($pu['unbegrenzt']==1) print'unbegrenzt g&uuml;ltig'; else print date("d.m.Y G:h",$up['gueltig']); ?></td>
    </tr>
    </table>
    Es wird bei allen usern so angezeigt.
    LG Sascha2703

Seite 2 von 2 ErsteErste 12

Ähnliche Themen

  1. Addon suche (Goldmember)
    Von Roedertaler im Forum Scripte
    Antworten: 26
    Letzter Beitrag: 02.11.2010, 11:46
  2. Userrang Goldmember??
    Von Homeboy05 im Forum Support zu Addons & Erweiterungen
    Antworten: 3
    Letzter Beitrag: 23.12.2006, 14:08

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •