Updates in Datenbank Speichern lassen, aber wie nur ?

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hay
    Ich will mir ein Update System Basteln auf MySQL Basis,
    Unzwar will ich hier im Script
    new Updates[3][4]= {
    {"Stromkosten billiger gemacht. (50%), Raphael, 1.3.2013"},
    {"Trucker Base (erneut) verlegt Raphael, 1.3.2013"},
    {"AD's werdem im UCP Angezeigt und in einer Datenbank Gespeichert, Raphael, 1.3.2013"}
    }; 
    Updates Eintragen nach dem Prinzip:
    UPDATES | Autor/Scripter | Datum
    Diese 3 Dinge sollen dann in der Tabelle "updates" Gespeichert werden.
    Die Struktur der Tabelle lautet:
    updete ( sollte der Text sein )
    autor ( der Schreiber des Updates )
    time ( wann das Update gemacht wurde )


    Ich wäre dankbar, wenn mir jemand da mal unter die Arme greifen kann


    Mit freundlichem Gruße
    Raphael.K

    Stahlbau Azubi deswegen kaum Aktiv

  • btw, es ist Schwachsinn, was du mit dem Array machst.
    Wenn du schon so arbeitest, dann musst du auch die Anführungszeichen schließen, ein Komma setzen, und diese erneut öffnen, damit du sie richtig auslesen kannst.


    new Updates[3][4]= {
    {"Stromkosten billiger gemacht (50%).", "Raphael", "1.3.2013"},
    {"Trucker Base (erneut) verlegt.", "Raphael", "1.3.2013"},
    {"ADs werden im UCP angezeigt und in einer Datenbank gespeichert", "Raphael", "1.3.2013"}
    };
    So wäre es richtig. ;)


    (Habe noch die Rechtschreibfehler verbessert. Verben schreibt man grundsätzlich (mit Ausnahmen wie z.B. "zum Benutzen" (wegen "zum")) klein; man apostrophiert nicht die Mehrzahl, weder im Englischen, noch im Deutschen ("AD's" -> "ADs") . *klugscheiß*)

  • (Habe noch die Rechtschreibfehler verbessert. Verben schreibt man grundsätzlich (mit Ausnahmen wie z.B. "zum Benutzen" (wegen "zum")) klein; man apostrophiert nicht die Mehrzahl, weder im Englischen, noch im Deutschen ("AD's" -> "ADs") . *klugscheiß*)


    Die Begründung, dass man "zum Benutzen" wegen dem "zum" groß schreibt ist falsch, denn "das Benutzen" ist das substantivierte Verb und ist wie jedes andere Nomen so zu behandeln. Aber wir sind hier ja glücklicherweise nicht im Deutsch-Unterricht.


    So nun wieder zurück zur eigentlichen Sache.


    @Raphael.K: Wie hast du dir das denn vorgestellt? Wann sollten neue Update-Einträge in die Datenbank geschrieben werden? Löscht du alte aus deinem Array oder bleiben schon eingetragene weiterhin in dem Feld?

  • Ich Trage die immer nach dem Scripten in das Array ein, und dann sollten sie wenn der Server Startet automatisch Eingetragen werden, und ja die alten einträge sollten dann weiterhin bestehend bleiben :)

    Stahlbau Azubi deswegen kaum Aktiv

  • Das ist mir klar, dass du die alten in der Datenbank behalten willst. Die Frage ist allerdings, ob du auch die alten in deinem Array behälts (entschuldige, falls ich mich falsch ausgedrückt habe).

  • Ich hab da mal was gebastelt
    Getestet habe ich es nicht aber etwas verändert
    enum UdateEnum{uWhat[50],uWer[MAX_PLAYER_NAME],uWann[20]};


    new Updates[][UdateEnum]=
    {
    {"Stromkosten billiger gemacht (50%).", "Raphael", "1.3.2013"},
    {"Trucker Base (erneut) verlegt.", "Raphael", "1.3.2013"},
    {"ADs werden im UCP angezeigt und in einer Datenbank gespeichert", "Raphael", "1.3.2013"}
    };
    /* Ongamemodeinit oder wo auch immer*/
    stock UpdateLog()
    {
    new query[200];
    for(new i = 0; i < sizeof(Updates); i++)
    {
    format(query,128,"SELECT * FROM `updates` WHERE `updete` = '%s'",Updates[i][uWhat]);
    mysql_query(query);
    mysql_store_result(SQL);
    if(mysql_num_rows()==0)
    {
    format(query, sizeof(query), "INSERT INTO `updates` (`updete`,`autor`,`time`) VALUES ('%s','%s','%s');",Updates[i][uWhat],Updates[i][uWer],Updates[i][uWann]);
    mysql_query(query);
    }
    mysql_free_result();
    }
    return 1;
    }

    All in all it's just another brick in the wall