TxDB - Textdatei-Datenbanken

  • [Blockierte Grafik: http://johannes-log.de/txdb/db_header.pngTxDB - Textdatei-Datenbanken


    Informationen:
    Erscheinungsdatum: Demnächst - 0.0.1 – Beta!
    Funktionen: 14

    Vorteile:
    [Blockierte Grafik: http://johannes-log.de/txdb/wp-content/uploads/accept.png] leichte Bedienung und Verarbeitung mit Autoit
    [Blockierte Grafik: http://johannes-log.de/txdb/wp-content/uploads/accept.png] basiert auf Textdateien, keine MySql-Datenbank o.Ä. erforderlich

    Nachteile:
    [Blockierte Grafik: http://johannes-log.de/txdb/wp-content/uploads/delete.png] nicht geeignet für große Datenmengen
    [Blockierte Grafik: http://johannes-log.de/txdb/wp-content/uploads/delete.png] Datenbanken sind einsehbar, sofern der Datenbankname bekannt ist
    (Verschlüsselung erfolgt in späteren Versionen)

    Was ist TxDB?
    TxDB ist ein System aus PHP-Funktionen, die den Umgang von Textdateien als Datenbank ermöglichen und vereinfachen. So können Textdateien anstelle von anderen Datenbanken (z.B. MySql) verwendetet werden und dazu reicht ein einfacher Webspace.

    Anwendungsbeispiel:

    Spoiler anzeigen


    Dein Server unterstütz kein Datenbankverwaltungssystem wie MySQL?
    Dann kannst du Dir TxDB auf den Webspace laden und Textdateien als Datenbank verwenden!

    Autoit-Code-Beispiel:

    [autoit]


    ; In Datenbank schreiben
    #include <TxDB.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $TxDB_Path = "http://ServerPfadZuDenPhps.de/TxDB.php"

    [/autoit] [autoit][/autoit] [autoit]

    ;_TxDB_Insert($Database,$String,$Mode = 1)
    _TxDB_Insert("HighScore","290|Mike|20012")

    [/autoit] [autoit][/autoit] [autoit]

    ; Fügt an das Ende der Datenbank "HighScore" den Datensatz "290|Mike|20012" ein.

    [/autoit] [autoit][/autoit] [autoit][/autoit]

    PHP-Funktionen zum Nachlesen und Projekt Homepage:
    txdb.johannes-log.de

    Anleitung zur "Installation":

    Spoiler anzeigen
    • Im Anhang findet Ihr die TxDB.zip.
    • Ihr ladet alle Dateien außer die TxDB.au3 auf eueren Webspace hoch.
    • Nun muss man noch den Pfad zur "TxDB.php" auf dem Webspace im Script festlegen, das geht mit der Variable $TxDB_Path. (Der Link muss mit http:// anfangen!)[autoit]

      ; Beispiel:

      $TxDB_Path = "http://deinwebspace/beispielordner/TxDB.php"

      [/autoit]
    [autoit]
    • Ein Script könnte dann folgendermaßen aussehen:
    [/autoit][autoit]


    ; Beispiel:

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $TxDB_Path = "http://deinwebspace/beispielordner/TxDB.php"

    [/autoit] [autoit][/autoit] [autoit]

    $DBName = "HighScoreDatenbank"

    [/autoit] [autoit][/autoit] [autoit]

    _TxDB_Create(3,$DBName)
    _TxDB_Insert($DBName,"21209809|Jautois|Winner")
    _TxDB_Display($DBName)

    [/autoit]



    Funktionen:

    [autoit]


    _TxDB_Insert()
    _TxDB_Update()
    _TxDB_Display()
    _TxDB_Delete()
    _TxDB_GetCols()
    _TxDB_DeleteID()
    _TxDB_Create()
    _TxDB_Exist()
    _TxDB_Perm()
    _TxDB_Sort()

    [/autoit]



    Funktionsbeschreibungen:

    Spoiler anzeigen
    [autoit]


    ; #FUNCTION# ;===============================================================================
    ;
    ; Name...........: _TxDB_Insert
    ; Description ...: Einfügen eines Datensatzes in eine Datenbank
    ; Syntax.........: _TxDB_Insert($database,$string[,$mode = 1])
    ; Parameters ....: $database: Name der Datenbank
    ; $string: String der eingefügt werden soll
    ; $mode - Optional: (Default = 1) - $string wird an das Ende der Datenbank eingefügt
    ; Return values .: Success - Returns : True
    ; Failure - Returns : False
    ; Author ........: Jautois
    ;
    ; ;==========================================================================================
    _TxDB_Insert("HighScoreDatenbank","21209809|Jautois|Winner")

    [/autoit] [autoit][/autoit] [autoit]

    ; #FUNCTION# ;===============================================================================
    ;
    ; Name...........: _TxDB_Update
    ; Description ...: Aktualisieren einen Datensatzes
    ; Syntax.........: _TxDB_Update($database,$string,$id,$col)
    ; Parameters ....: $database: Name der Datenbank
    ; $string: String der eingefügt werden soll
    ; $id: Die ID des Datensatzes
    ; $col: Die Spalte des Datensatzes
    ; Return values .: Success - Returns : True
    ; Failure - Returns : False
    ; Author ........: Jautois
    ;
    ; ;==========================================================================================
    _TxDB_Update("HighScoreDatenbank","Martin",2,1)

    [/autoit] [autoit][/autoit] [autoit]

    ; #FUNCTION# ;===============================================================================
    ;
    ; Name...........: _TxDB_Display
    ; Description ...: Zeigt eine Datenbank mit _ArrayDisplay an
    ; Syntax.........: _TxDB_Display($database)
    ; Parameters ....: $database: Name der Datenbank
    ; Return values .: Success - Returns : (none)
    ; Failure - Returns : False
    ; Author ........: Jautois
    ;
    ; ;==========================================================================================
    _TxDB_Display("HighScoreDatenbank")

    [/autoit] [autoit][/autoit] [autoit]

    ; #FUNCTION# ;===============================================================================
    ;
    ; Name...........: _TxDB_Delete
    ; Description ...: Löscht eine Datenbank
    ; Syntax.........: _TxDB_Delete($database)
    ; Parameters ....: $database: Name der Datenbank
    ; Return values .: Success - Returns : True
    ; Failure - Returns : False
    ; Author ........: Jautois
    ;
    ; ;==========================================================================================
    _TxDB_Delete("HighScoreDatenbank")

    [/autoit] [autoit][/autoit] [autoit]

    ; #FUNCTION# ;===============================================================================
    ;
    ; Name...........: _TxDB_Exist
    ; Description ...: Prüft ob eine Datenbank besteht
    ; Syntax.........: _TxDB_Exist($database)
    ; Parameters ....: $database: Name der Datenbank
    ; Return values .: Success - Returns : True
    ; Failure - Returns : False
    ; Author ........: Jautois
    ;
    ; ;==========================================================================================
    _TxDB_Exist("HighScoreDatenbank")

    [/autoit] [autoit][/autoit] [autoit]

    ; #FUNCTION# ;===============================================================================
    ;
    ; Name...........: _TxDB_GetCols
    ; Description ...: Gibt die Anzahl der Spalten einer Datenbank aus
    ; Syntax.........: _TxDB_GetCols($database)
    ; Parameters ....: $database: Name der Datenbank
    ; Return values .: Success - Returns : (int) Anzahl der Spalten
    ; Failure - Returns : False
    ; Author ........: Jautois
    ;
    ; ;==========================================================================================
    _TxDB_GetCols("HighScoreDatenbank")

    [/autoit] [autoit][/autoit] [autoit]

    ; #FUNCTION# ;===============================================================================
    ;
    ; Name...........: _TxDB_DeleteID
    ; Description ...: Löscht eine ID aus einer Datenbank
    ; Syntax.........: _TxDB_DeleteID($database,$id)
    ; Parameters ....: $database: Name der Datenbank
    ; $id: ID des Datensatzes
    ; Return values .: Success - Returns : True
    ; Failure - Returns : False
    ; Author ........: Jautois
    ;
    ; ;==========================================================================================
    _TxDB_DeleteID("HighScoreDatenbank",3)

    [/autoit] [autoit][/autoit] [autoit]

    ; #FUNCTION# ;===============================================================================
    ;
    ; Name...........: _TxDB_Create
    ; Description ...: Prüft ob eine Datenbank besteht
    ; Syntax.........: _TxDB_Create($col,$database)
    ; Parameters ....: $col: Anzahl der Spalten die die Datenbank besitzen soll
    ; $database: Name der Datenbank (falls freigelassen, wird ein Randomname generiert)
    ; Return values .: Success - Returns : True
    ; Failure - Returns : False
    ; Author ........: Jautois
    ;
    ; ;==========================================================================================
    _TxDB_Create(3,"HighScoreDatenbank")

    [/autoit] [autoit][/autoit] [autoit]

    ; #FUNCTION# ;===============================================================================
    ;
    ; Name...........: _TxDB_Perm
    ; Description ...: Prüft ob eine Datenbank besteht
    ; Syntax.........: _TxDB_Perm()
    ; Parameters ....: (none)
    ; Return values .: Success - Returns : True
    ; Failure - Returns : False
    ; @error: -1 - Cannot change the mode of file
    ; -2 - Cannot open file
    ; -3 - Cannot write to file
    ; -4 - Cannot close file
    ; Author ........: Jautois
    ;
    ; ;==========================================================================================
    _TxDB_Perm()

    [/autoit] [autoit][/autoit] [autoit]

    ; #FUNCTION# ;===============================================================================
    ;
    ; Name...........: _TxDB_Sort
    ; Description ...: Sortiert eine Datenbank
    ; Syntax.........: _TxDB_Sort($database,$col,$mode)
    ; Parameters ....: $database: Name der Datenbank
    ; $col: Die zu sortierende Spalte
    ; $mode: 0 - Die Elemente werden aufsteigend vom niedrigsten zum höchsten Wert sortiert
    ; 1 - Die Elemente werden absteigend vom höchsten zum niedrigsten Wert sortiert
    ; Return values .: Success - Returns : True
    ; Failure - Returns : False
    ; Author ........: Jautois
    ;
    ; ;==========================================================================================
    _TxDB_Sort("HighScoreDatenbank",3,0)

    [/autoit]


    Wenn Ihr möchtet, könnt Ihr hier schonmal Ideen oder Kritiken posten.
    :P

  • So es ist soweit! Ich füge dem ersten Post oben ein kleines Testpacket bei (Beta mit 8 Funktionen).

    [autoit]


    _TxDB_Create(2,"HighScore")
    _TxDB_Insert("HighScore","Mike|20012")
    _TxDB_Update("HighScore","Jautois",1,1)
    _TxDB_Display("HighScore")
    _TxDB_Exist("HighScore")
    _TxDB_GetCols("HighScore")
    _TxDB_Delete("HighScore")
    _TxDB_DeleteID("HighScore",2)

    [/autoit]
    Zitat

    Wie bekommt man nur immer solche Namen und ideen her ?

    Not macht erfinderisch und der Name is einfach schnell aus Txt-Dateien und DB (Datenbanken) abgeleitet .. :)

  • @simon: auto_increment ist zur Zeit noch normal, also als Standard eingestell. Sobald ein Datensatz eingefügt wird, bekommt er die Id des letzten Datensatzes "+ 1".

    Ich hab 2 neue Funktionen fertig: (detailierte Beschreibung oben)
    _TxDB_Perm() -> überprüft die Schreibrechte auf dem Webspace
    _TxDB_Sort() -> erlaubt das Sortieren einer Datenbank