Dynamisches Anzeigen von Monaten und Spielerdaten

  • Naja ich würde sagen das die werte einfach leer sind weil sie nicht gesetzt werden. Arbeite wie oben gesagt mit den ? Operator & alles wird gut. Du musst auch den Fall abdecken wenn ein Wert nicht gefüllt wird.


    If Abfrage != ? Operator
    ? Operator == If Abfrage
    Der ? Operator ist also eine If/else abfrage nur in kurz.

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern

  • Ich arbeite ja schon mit dem ? Operator. Das ist ja das Problem. Ich weiß nicht wo ich ansetzen soll weil eigentliche alle Werte von der Art her gleich gesetzt werden, und bei den ersten Werten funktioniert das ja


    - Tom

  • SQL
    UPDATE payments SET m10 = '1', m9 = '1', m8 = '1', m7 = '1', m6 = '1', 
    m5 = '1', m4 = '1', m3 = '1', m2 = '1', lastmonth = '', currmonth = '', 
    nextmonth = '', p2 = '', p3 = '', p4 = '', p5 = '' WHERE name = ''


    - Tom


    Falls das Problem immer noch existieren sollte das es nicht aktualisiert das liegt daran das du kein bestimmten Datensatz aktualisierst.

    Code
    WHERE name = ''
  • Aktuell siehts so aus und funktioniert nicht:

    PHP
    $sql = "UPDATE payments SET m10 = ".$m10c.", m9 = ".$m9c.", m8 = ".$m8c.", m7 = ".$m7c.", m6 = ".$m6c.", m5 = ".$m5c.", m4 = ".$m4c.", m3 = ".$m3c.", m2 = ".$m2c.", lastmonth = ".$m1c.", currmonth = ".$m0c.", nextmonth = ".$m01c.", p2 = ".$m02c.", p3 = ".$m03c.", p4 = ".$m04c.", p5 = ".$m05c." WHERE name = '".$rname."'";


    -Tom

  • zeig mal das gesamte Script. Also wie die Variablen gefüllt werden und so weiter. Also so das man es auch mal selber live testen kann.

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern


  • - Tom

  • In deiner gesamten Code den du gepostet hast befindet sich nirgends wo $rname, sollte das der Name des USers sein den du ausgewählt hast so solltest du diese Php variable in deiner Formatierung des Update Queries gegen $name ersetzen


    SQL
    $sql = "UPDATE payments SET m10 = ".$m10c.", m9 = ".$m9c.", m8 = ".$m8c.", m7 = ".$m7c.", m6 = ".$m6c.", m5 = ".$m5c.", m4 = ".$m4c.", m3 = ".$m3c.", m2 = ".$m2c.", lastmonth = ".$m1c.", currmonth = ".$m0c.", nextmonth = ".$m01c.", p2 = ".$m02c.", p3 = ".$m03c.", p4 = ".$m04c.", p5 = ".$m05c." WHERE name = '".$name."'";
  • :|


    Das könnt natürlich der Fehler sein. :D


    Jetzt hab ich da nur ein Problem. Das $rname soll das selbe sein wie der $name in der ersten if Abfrage.
    Also $name = $_POST['users'];
    Nur da $_POST[user] beim zweiten mal abschicken des Formulars nichtmehr existiert kann ichs auch bei der 2. Abfrage nicht verwenden.


    Wie kann ich beim Auswählen des Users den Namen in eine Globale Variable Speichern sodass ich den Namen in der 2. Abfrage wieder verwenden kann um zu wissen wo es gepspeichert wird?


    Villt. nen unsichtbarer Input der beim 1. Formular beschrieben wird und beim 2. dann abgefragt?


    - Tom

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Okay da muss ich wohl mit sessions ran.


    Ich hab Probeweiße mal eine Variable $rname gesetzte und direkt nach einem Datensatz entsprechend benannt.
    Es speichert trotzdem keine der veränderten Werte.


    - Tom


    SQL
    UPDATE payments SET m10 = '1', m9 = '1', m8 = '1', m7 = '1', m6 = '1', 
    m5 = '1', m4 = '1', m3 = '1', m2 = '1', lastmonth = '', currmonth = '', 
    nextmonth = '', p2 = '', p3 = '', p4 = '', p5 = '' WHERE name = 'Martos'


    Lass dir da am besten immer dein query ausgeben, da es normal nicht sein kann das dein Datensatz dann nicht aktualisiert wird, da müsst dein Query entweder ein Fehler beinhalten, die Werte gleich sein, etc...
    Du kannst ja davor dein Query testen in phpmyadmin.

  • Für das Moderationsteam:
    Ich nutze offene WLAN's und bin im Intercafe oder im Hotel. (Vor Ban wegen Multiaccount deswegen bitte eine private Nachricht, um dies zu klären).

  • Okay wenn ich einen komplett ausgefüllten query übergebe funktioniert es. Aber dynamisch nicht. :|


    Allinone Was soll seine Funktion bewirken? ?(


    - Tom


    Meine Funktion prüft ob der Post existiert und den Wert " 1 " trägt.
    Könnte man auch ohne eine Funktion machen, da war ich aber etwas faul. ^^


    Edit:
    Und du hattest ein Gänsefüßchen am Ende der Query vergessen.
    Deine Zeile:

    PHP
    mysql_query("UPDATE payments SET m10 = '".$m10c."', m9 = '".$m9c."', m8 = '".$m8c."', m7 = '".$m7c."', m6 = '".$m6c."', m5 = '".$m5c."', m4 = '".$m4c."', m3 = '".$m3c."', m2 = '".$m2c."', lastmonth = '".$m1c."', currmonth = '".$m0c."', nextmonth = '".$m01c."', p2 = '".$m02c."', p3 = '".$m03c."', p4 = '".$m04c."', p5 = '".$m05c."' WHERE name = '".$rname."');


    Meine Zeile:

    PHP
    mysql_query("UPDATE payments SET m10 = '".$m10c."', m9 = '".$m9c."', m8 = '".$m8c."', m7 = '".$m7c."', m6 = '".$m6c."', m5 = '".$m5c."', m4 = '".$m4c."', m3 = '".$m3c."', m2 = '".$m2c."', lastmonth = '".$m1c."', currmonth = '".$m0c."', nextmonth = '".$m01c."', p2 = '".$m02c."', p3 = '".$m03c."', p4 = '".$m04c."', p5 = '".$m05c."' WHERE name = '".$rname."'");

    Für das Moderationsteam:
    Ich nutze offene WLAN's und bin im Intercafe oder im Hotel. (Vor Ban wegen Multiaccount deswegen bitte eine private Nachricht, um dies zu klären).

  • Es funktioniert. :)


    Ich hab deine Funktion verwendet, danke dafür.


    Außerdem habe ich noch einen Hidden Input benutzt um die $name Variable nutzen zu können.


    Ein Problem hab ich noch unzwar gehen alle Haken nur der letzte, also p5 läßt sich nicht ändern.
    Im Script ist ja aber alles gleich. :/


    //EDIT: War nur n Tippfehler, funktioniert jetzt. Danke euch. :love:


    Jetzt fehlt mir noch ne Sache wo ich nicht richtig weiß wie ich es angehe.
    An jedem 1. Des monats am besten direkt 0:00 Uhr sollen alle Daten umgeschrieben werden, also einmal nach links.


    Also Dezember 14 sieht zB so aus: last="1" curr="0" next="0" Last wäre mal November, curr Dezember und next Januar. Jetzt kommt der Monatswechsel und wir haben last Dezember, dann Januar und Februar.
    sodass die 1 von "last" verfällt, die 0 von curr auf last übertragen wird und die von next auf curr. Und Next bekommt dann generell immer erstmal eine Null bevor es dann von einem Admin geändert wird.


    Sodass das neue Schema dann 0 0 0 aussehen würde.


    Meine eigentliche Frage ist nun wie überprüfe ich wann monatsanfang ist? Nen Timer?


    Das mit dem Werte überschreiben muss man dann ja nicht für m10 und p5 machen da der letzte Monatswert verfällt und der neue immer generell 0 ist.


    - Tom



    Einmal editiert, zuletzt von Tomsen ()


  • Meine eigentliche Frage ist nun wie überprüfe ich wann monatsanfang ist? Nen Timer?
    - Tom


    PHP hat soweit ich weiß keinen Timer. Du könntest dafür eine Konsolenanwendung in C# programmieren,
    was jeden Monatsanfang das PHP Skript aufruft.

    Für das Moderationsteam:
    Ich nutze offene WLAN's und bin im Intercafe oder im Hotel. (Vor Ban wegen Multiaccount deswegen bitte eine private Nachricht, um dies zu klären).

  • Läuft so nen C Code über Server?
    Abgesehen davon kann ich keine C Sprachen. :D


    Eine Möglichkeit wäre noch bei jedem Aufrufen der Startseite (gibt ja bloß die index.php) zu überprüfen ob der 1. eines Monats ist oder?


    - Tom

  • Abgesehen davon kann ich keine C Sprachen.


    Eine Möglichkeit wäre noch bei jedem Aufrufen der Startseite (gibt ja bloß die index.php) zu überprüfen ob der 1. eines Monats ist oder?

    Ja, läuft über den Server, musst lediglich einen versteckten Webbrowser machen, der immer am 1. das Script aufruft.

  • Läuft so nen C Code über Server?
    Abgesehen davon kann ich keine C Sprachen. :D


    Eine Möglichkeit wäre noch bei jedem Aufrufen der Startseite (gibt ja bloß die index.php) zu überprüfen ob der 1. eines Monats ist oder?


    - Tom


    Würde auch mit VB.net gehen. Tatsache ist, dass du halt etwas auf deinem Server laufen lässt, der sich drum kümmert. Die zweite Möglichkeit würde auch klappen. Mit PHP wird es für dich aber dann etwas schwieriger.


    Mache es (falls du PHP nutzen möchtest) einfach so:
    Du erstellst eine Datenbank mit folgender Struktur:


    id | month | year
    1 | 1.01 | 2015


    Dann prüfst du mit PHP ob wir den 1. eines Monats haben und ob in der Datenbank der Eintrag existiert. Wenn es der 1. ist und es noch keinen Eintrag gibt, führst du das aus was du vor hast und fügst in die Datenbanktabelle das Datum ein, damit du sicherstellen kannst, das du den heutigen 1. des Monats ausgeführt hast.


    Ist zwar nicht die beste Lösung, aber was besseres fällt mir gerade auch nicht ein.


    Edit:
    Lies noch mal den oberen Text, war verpeilt. :thumbdown:

    Für das Moderationsteam:
    Ich nutze offene WLAN's und bin im Intercafe oder im Hotel. (Vor Ban wegen Multiaccount deswegen bitte eine private Nachricht, um dies zu klären).

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen