Datenbank nutzen, aber wie?

  • Hey Leute,

    ich such schon eine ganze weile gute Tutorials zum Zugriff auf MySQL DB. In PHP hab ich da schon einiges gemacht, nur wie kann ich Daten aus einer Tabelle in AutoIT Abfragen, ändern, hinzufügen, löschen, zählen und Co. Und die dann ausgeben und in eine Tabelle bringen oder in einem Formular, mit einem Weiter, Zurück und so Button um vorherige, weitere oder so Datensätze an zu zeigen.

    Hoffe mir kann jemand helfen. Wenn ich unverständlich schrieb bitte melden und ich helfe weiter.

    Michael


    Folgendes Tutorial hab ich mir schon angeguckt, das schon interessant aber was nun weiter?

    https://autoit.de/index.php?page=Thread&threadID=14154

    • Offizieller Beitrag

    Deine Frage ist ohne spezielles Problem.
    Werde doch mal konkret, poste ein Bsp., das du bearbeiten möchtest (DB, Aufbau, welche Aktionen willst du ausführen, wie hast du es bisher probiert).
    Für MySQL gibt es die MySQL-UDF von progandy, sollte dich schonmal weiterbringen.

  • Ich würde gern z.B. eine Übersicht meiner DVDs machen. Oder Telefonverzeichnis, also das diese in einer Liste einfach ausgegeben werden und angezeigt. In PHP ging dies immer relativ ganz einfach, aber wie siehts bei AutoIT da aus?

    Bzw. einfach nur paar Grundkenntnisse einfach zum Datenbanken mit AutoIT. Also in Form von schönen einfachen wenns geht deutschen Tutorials.


    Michael

  • Gibts den für dies eine Gute möglichst Deutsprachige hilfe? Vorallem wird dort auch eine schöne in Tabellenförmige Ausgabe einer MySQL Abfrage ermöglicht? Vorallem wenn wollte ich mit MySQL DB arbeiten. Also nicht irgendein abklatsch.


    Michael

    Einmal editiert, zuletzt von lwl2011Bochum (19. September 2011 um 17:46)

  • SQLite ist kein abklatsch! Vorteile liegen auf der hand! mySQL ist von standard sehr groß und muss in hintergrund laufen heisst du musst immer erst mysql starten dann dein programm das ist bei SQLite nicht der fall. SQLite kannste du wie ein misch aus einere Textdatei ansehen die mit SQL befehlen umgehen kann also für dein fall eigentlich an besten geeignet ausgenommen du willst unbedingt das deine freunde kollegen gleichzeitig drauf zugriff haben wollen dann würd ich mySQL laufen lassen aber von ein Server aus!

    GRuss DevFly

  • Ja am soch will ich das ja benutzen, also ein externer MySQL Server. Hab schon mal mir folgendes Tutorial schon zu gemüte geführt und dort musste ich auf MySQL zurück greifen, da da eine Kombi aus MySQL, PHP und AutoIT. Hier der Link https://autoit.de/index.php?page=Thread&threadID=14154


    Und an sich find ich externe Datenbanken eher angenehmer, da ich da von überalle auf meine Daten zugreifen kann.

    Michael

  • Nahja überall wo du ins Netz kannst wenn du kein internet hast stehste da deswegen der Tipp mit SQLLite aber wenn du das über noch über PHP Managen willst ok dann mySQL manko das in programm code der mySQL zugang mit drin steht da wäre ein Händling über winhttp oder inet sinnvoller und sicherer und einfacher noch dazu :)

    Gruss DevFly

  • Nein an sich muss ich nicht unbedingt den umweg über PHP nehmen, wenns geht. Den so kann ich mir bislang nicht vorstellen, wie ich so die Daten aus der PHP Abfrage ins AutoIT Programm bekomme, außer den schein, ein Art Browser zu nutzen. Das war nämlich nicht so wirklich wat ich wollte.

    Den in dem genannten Tutorial list man nur eine Zahl aus und Reagiert drauf. Und wenn würd ich ja gern Daten auslesen und in eine Tabelle ausgeben.

    Also wenns auch direkt geht wäre super. und das mit dem Inet is klar, wenn kein Inet dann komm ich nich an die Daten.


    Michael

  • Also du hast die Möglichkeit nach UDFs zu suchen. Ich hab mal einige gesehen.

    Ansonsten muss du dir das selber schreiben (die ganzen Funktionen) und das könnte ne weile dauern. Dabei muss du es per TCP machen und erst mal zu sehen wie MySQL auf TCP Anfragen/Befehle reagiert, Rückgabewert bzw, Rückgabeantwort gibt.

    Die Anfangssachen stell ich mir simple vor.

    @Edit wenn du mich meintest mit der nachfolgende Post dann nein. Alles in AutoIT
    Ich schreibe mir gerade ein E-Mail-Client mit Automatisierung. Da muss ich z.b. TCP nutzen und erst mal alles mir selber schreiben =/.

    2 Mal editiert, zuletzt von MaZy (19. September 2011 um 20:33)

  • du kannst dir eine php datei basteln die dir z.b. die datenbank infos von z.b deiner DVD Datenbank ausgibt als trenner nimmste z.b. | so das kannste dann mit inetget abfragen einfach die php datei abfragen und danach nimmst du ein stringsplit und nimmst als TRenner den | ergebnis ist ein array mit den infos die du wolltest. Mit winhttp kannste dann die sachen über ein post befehl dann auch wieder schreiben einfach eine php datei basteln die die post befehle abarbeitet. Ist sicherer und schneller und vorallen einfacher!

    Gruss DevFly

  • du kannst dir eine php datei basteln die dir z.b. die datenbank infos von z.b deiner DVD Datenbank ausgibt als trenner nimmste z.b. | so das kannste dann mit inetget abfragen einfach die php datei abfragen und danach nimmst du ein stringsplit und nimmst als TRenner den | ergebnis ist ein array mit den infos die du wolltest. Mit winhttp kannste dann die sachen über ein post befehl dann auch wieder schreiben einfach eine php datei basteln die die post befehle abarbeitet. Ist sicherer und schneller und vorallen einfacher!

    Gruss DevFly

    Oder so :D das ist mir nicht eingefallen :D

  • Sry ich blicke gerade irgendwie nicht durch, was du meinst. Also bin leicht verwirrt. Also meine dich DevFly.

    Kannst das noch ma in einfach erklären *fg*

    Michael

  • Also nochmal :)

    Wie du Datenbank inhalte in php ausgibste weisste oder?

    Gehen mwir mal von ein beispiel aus!
    In der Datenbank steht z.b. folgendes drin:
    ID: 1 Titel: Startrek 1 Beschreibung: Das ist ein toller Film
    ID: 2 Titel: Startrek 2 Beschreibung: Der Film ist noch besser

    So um das an einfachsten abzufragen sagste php schreibe das auf eine nackte php seite nach folgenden Schema:
    1|Startrek 1|Das ist ein Toller Film
    2|Startrek 2|Der Film ist noch besser

    So jetzt kannste diese seite mit inetget auslesen und nutzt den Stringsplit um die werte aufzuteilen

    Dein AutoIt Script weiß das die erste stelle die ID ist die zweite der Titel und die dritte stelle die Beschreibung.

    Jetzt machste 2 Stringsplit und baust dir ein 2D Array daraus den du frei in AutoIt verarbeiten kannst!

    Wenn du es immer noch nicht verstehst bau dir so eine Beispiel php seite zusammen und schau dir StringSplit und inetget in der Hilfe an ist keine Kunst das so umzusetzen bevor du da direkt mit mySQL arbeitest fährste so besser!

    Gruss DevFly

  • Ne nun hab ichs verstanden, nur die Sache mit den 2D Arrays muss ich noch checken, also wie man die aufbaut und dann abruft. Da komm ich noch nicht hinter. Oder kann mir jemand da ein Kurzen Einblick geben?

    Aber so is das schon mal sehr interessant. Und zu guter letzt muss ich mir das mit der Ausgabe noch überlegen, wie ich die Daten in AutoIT wieder vernünftig Ausgebe. Also in Tabellen Form.

    Und DVDs sollen so auch nur mit ID, Titel und Subtitle aufgelistet werden, aber was ich in die Liste rein tue ist ja mein ding.


    Michael

    Einmal editiert, zuletzt von lwl2011Bochum (19. September 2011 um 21:23)

  • 2D Array ist nicht schwer stelle es dir wie eine Excel tabelle vor nur halt mit zahlen! anstatt Buchstaben und zahlen wie in Excel!

    Hier ein Beispiel:

    [autoit]

    $array[0][0] = "Inhalt Zeile 0 Spalte 0"
    $array[0][1] = "Inhalt Zeile 0 Spalte 1"
    $array[1][0] = "Inhalt Zeile 1 Spalte 0"
    $array[1][1] = "Inhalt Zeile 1 Spalte 1"

    [/autoit]

    Hoffe das bringt die erleuchtung :)

    Schreiben und lesen kann man ein 2D über viele wege obweder mit einer while schleife oder meist genutzt eine for schleife usw. Zur Ausgabe wird ich mit Listview arbeiten!

    Ein Array ist auch nur eine erweiterte Variable also du kannst sie auch direkt ansprechen wenn dir die spalte und zeile bekannt ist! ;)

    Gruss DevFly

  • Dann muss ich nur mal nach gucken ob es eine einfache Variante gibt in AutoIT eine Tabelle zu erschaffen und dann nur noch die Daten aus dem Array in diese einfügen. Aber ich werd morgen oder die Tage mal anfangen und wenns Probleme gibt, diese hier posten.

    Bin gerad am bauen der PHP Datei schon mal. Nur Irgendwie scheiter ich gerade ein wenig :S Also Gibt zumindest schon mal kein Error aber auch keine Ausgabe. Hier mal den Code von PHP, normal Funktioniert das Ding eigentlich.


    <?
    include("db_config.php");
    $sql = mysql_query("SELECT * FROM 'DVDs'");
    while($ds = mysql_fetch_object($sql)){
    $id = $ds -> id;
    $Titel = $ds -> titel;
    $Subtitel = $ds -> subtitel;

    echo $Titel . "|" . $Subtitel . "|<br>";
    }
    echo $Titel . "|" . $Subtitel . "|<br>";
    ?>


    Hier der Link http://autoitlwl.au.funpic.de/AutoIT/DVDs/

    Michael

    2 Mal editiert, zuletzt von lwl2011Bochum (19. September 2011 um 22:00)

  • ich mach meine Abfragen immer so: