Es ist eine Klasse, die es erleichtern soll ein Controlpanel zu bauen. Sie holt via Wildcard alle Spalten aus einer/mehreren Tabellen die man dann einfach per Objekt->Variablenname abfragen und/oder verändern kann.
Beiträge von Klemmlampe
-
-
Da es letztendlich egal ist, da man diese Datei nur einmalig einspielt, werde ich bei mehreren einzelnen Queries bleiben. Die fehlenden Backticks wurden hinzugefügt, neue Version wurde hochgeladen, Downloadlink blieb gleich.
-
Backticks werde ich später hinzufügen. Multi-Insert könnte ich machen, allerdings könnte es Probleme geben, wenn bestimmte Schlüssel (= Spaltennamen) in einzelnen Dateien nicht vorhanden sind.
Random: Das liegt an AutoIt, dafür kann ich nichts. Aber ich meine 2 von 45 hat nicht wirklich viel zu sagen.
-
Behoben und hochgeladen. Der Link ist gleichgeblieben.
-
Gegenfrage: Was ist daran nicht elegant? Ist wohl die beste und sauberste Möglichkeit.
-
Hallo ihr lieben!
Heute mal wieder was ganz tolles. Ein Programm, dass eure INI-Dateien in MySQL-Queries umwandelt, die ihr dann in eure Datenbank einspielen könnt.
Zu verwenden ist es ganz einfach: Ihr wählt den Ordner mit euren INI-Dateien aus, gebt den Tabellennamen an und das Programm konvertiert sie in MySQL-Queries und speichert sie in eine Datei namens Tabellenname.sql. Diese Datei könnt ihr dann ganz einfach importieren.Hinweis: Das Programm ignoriert Sektionen und Kommentare in euren INI-Dateien.
Download: http://dl.dropbox.com/u/70016420/INI2MySQL.exeIch habe die Erlaubnis von Goldkiller, das Programm ohne Source Code zu veröffentlichen.
Nun aber viel Spaß damit.
So long
dead -
Schau dir mal das an, bei Interesse kannst du dich via PM melden.
-
inwx.de oder breadhost.de sind relativ günstig. Domains zahlst du in der Regel immer für ein Jahr, es gibt auch Ausnahmen bei denen du für 2 oder mehr Jahre zahlst.
-
Ist Simyo nicht ein Prepaidanbieter für Mobiltelefone?
-
Frag mal ab, ob move_uploaded_file nicht false ist, denn nur dann wurde das Bild wirklich hochgeladen. Schau dir auch mal http://php.net/manual/de/function.is-uploaded-file.php an.
-
-
Mach doch gleich eine ganze Tutorialreihe draus ? Dann würde der Standard hier hoffentlich mal etwas steigen
Vielleicht später mal, im Moment aber eher nicht.
Danke für die schönen Lobe :>
Die Klasse kann nun auch eure Tabelle updaten/Werte setzen. Genaueres siehe oben.
-
Schau dir das mal an, habe ich vor Ewigkeiten gemacht. Ist im Grunde genau das was du willst + ein bisschen mehr.
-
Die Pickups in einem Array speichern und dann mit einer Schleife durchgehen und jedes löschen.
-
Hallo,
ich biete heute etwas ganz tolles, eine riesige Klasse mit wenig nutzen. Ehm, andersrum. Die Klasse soll genau eines machen: Dir soll eine solide aber einfache Grundlage für euer MySQL-basiertes Control Panel geboten werden. Die Klasse hat exakt3354 Zeilen Code, davon sind 2 Zeilen PHP-Tags, 4 Zeilen Kommentare,712 Leerzeilen und 36 Zeilen Code.
NEU! Du kannst nun auch Tabellen updaten.Und schon begeistert? Nein - glaub ich dir. Schauen wir uns doch mal an wie das funktioniert.
PHP$data = new data('127.0.0.1', 'root', '', 'ucp', 'user', 'userID = 1'); // neues Objekt der Klasse; Parameter: Host, Nutzer, Passwort, Datenbank, Tabelle, Identifikation (alles was nach "WHERE" folgen kann/folgt), optional: Zusätzliche Felder für Subqueries/JOIN Queries if($data->username !== false) echo $data->username; // Prüfen ob das Feld existiert, wenn ja ausgeben else echo 'field not found'; // ansonsten Fehlermeldung
Sieht einfach aus oder? Ist es auch. Du kannst jedes Feld aus der MySQL Tabelle ausgeben lassen, auch eigene die du z.B. per Subquery holst. Beispiel? Gerne:
PHP$data = new data('127.0.0.1', 'root', '', 'ucp', 'user', 'userID = 1', '(SELECT factionname FROM faction WHERE factionID = factionID) as factionname'); if($data->factionname !== false) echo $data->factionname; else echo 'field not found';
Du kannst auch Spalten in deiner Tabelle updaten indem du ganz einfach die Variable setzt (Funktioniert nicht bei Subqueries!). Klingt verwirren, hier mal ein Beispiel:
PHP$data = new data('127.0.0.1', 'root', '', 'ucp', 'user', 'userID = 1'; $data->username = 'deadinat0r'; // setzt den Spielernamen auf "deadinat0r"
Und konnte ich dich überzeugen? Dann darfst du die Klasse gerne nutzen, wenn nicht lass es einfach
Jetzt aber endlich zur Klasse selbst...
PHP
Alles anzeigen<?php /* * Die wohl einfachste Grundlage für ein MySQL basiertes UCP in PHP auf der ganzen Welt * Idee und Umsetzung von dead, das Werk steht unter der WTFPL <http://www.wtfpl.net/> */ class data { private $connection = null, $data = null, $update = array(), $mysqlTable = '', $identification = ''; public function __construct($mysqlHost, $mysqlUser, $mysqlPassword, $mysqlDatabase, $mysqlTable, $identification, $additionalFields = '') { $this->mysqlTable = $mysqlTable; $this->identification = $identification; $this->connection = new MySQLi($mysqlHost, $mysqlUser, $mysqlPassword, $mysqlDatabase); $sql = "SELECT *" . (($additionalFields) ? (', ' . $additionalFields) : ('')) . " FROM " . $mysqlTable . " WHERE " . $identification; if(!$result = $this->connection->query($sql)) { return false; } $this->data = $result->fetch_object(); return true; } public function __destruct() { if(!empty($this->update)) { $sql = "UPDATE " . $this->mysqlTable . " SET " . implode(', ', $this->update) . " WHERE " . $this->identification; $this->connection->query($sql); } } public function __get($name) { return $this->getValue($name); } public function __set($name, $value) { return $this->setValue($name, $value); } private function getValue($field) { return isset($this->data->$field) ? ($this->data->$field) : (false); } private function setValue($field, $value) { $this->update[] = $field . " = '" . $this->connection->real_escape_string($value) . "'"; } } ?>
Viel Spaß damit!
-
Du kannst dich gerne auch bei mir melden.
-
LUA ist eine Sprache, Pawno ein Programm. PAWN wäre die Sprache die er meint.
Was du meinst ist aber eigentlich ein Vergleich der zwei Mods, nicht deren Sprachen. Wenn du aber die Sprachen vergleichen willst: LUA ist an sich schöner, da mehr Möglichkeiten (ich denke da jetzt besonders an Klassen bzw. Objekte).
-
Mit "PHP teils" kommst du nicht weit. Erstmal Objekt Orientierte Programmierung (OOP) im Bezug auf PHP erlernen, danach noch mal eben Singleton anschauen (da reicht im Grunde zu wissen, wie man es anwendet). Hast du das soweit geschafft, solltet du dir eine gute Grundahnung von XML aneignen. Natürlich sind MySQL Kenntnisse absolut von Nöten, aber ich denke die besetzt du. Danach kannst du auch anfangen dich mit dem WBB Pluginsystem auseinander zu setzen.
Ich werde hier mal einen Teil aus einer PM an einen anderen Nutzer zitieren.
Zitat[..]eigentlich ist die Dokumentation sehr gut, sie geht allerdings nicht auf die Grundlagen ein, das meinst du vermutlich. Dazu kann man sagen, dass jedes Plugin eine package.xml braucht. In dieser Datei wird alles für das Plugin wichtig angegeben, unter anderem Package Installation Plugins, sog. PIPs. Was jeder PIP macht kannst du in der Dokumentation nachlesen. Plugins werden als TAR-Archive gepackt, ein doppeltes Packen ist bei zu großer Dateigröße möglich (.tar.gz-Archv mit der .tar-Datei darin).
Weiter gibt es eine bestimmte Struktur, die man einhalten sollte. Zum einen sind das Klassen-, Template-, Datei-, und Pfadnamen die man einhalten sollte, zum anderen aber auch bestimmte Schreibweisen des Codes. Wie genau diese aussieht steht leider nicht in der Dokumentation, ist aber auch nicht elementar für Plugins; sie funktionieren auch ohne Einhaltung der Namen. Grundsätzlich kann man aber sagen: Templates und Icons fangen klein an und werden bei jedem weiteren Wort groß geschrieben (z.B. meinTollesTemplate.tpl), Klassennamen werden immer groß geschrieben und tragen das Suffix .class.php (IchBinEineKlasse.class.php). Die Pfadstruktur musst du dir selbst mal in deiner WBB-Installation ansehen.
-
Nein, das konnte man gegen einen Like der Facebookseite des Entwicklers kostenlos bekommen.
-
Bevor du etwas ausgeben kannst, muss es aber existieren.