Hallo!
Ich möchte in einer GUI eine MySQL Tabelle Darstellen.
Man soll dann Einträge auswählen können, mit denen man die IDs in ein Array packt.
[Tutorial] Login + Registrierung über eine MySql-DB [+ Hilfedateien]
In dem Tut ist ja beschrieben, wie das mit
_INetGetSourcegeht, aber kann man so auch ganze Arrays damit erstellen?
Also das dort steht:
1,Paul,Schmidt;2,Max,Muster
und der das dann automatisch trennt und als Tabelle anzeigt?
Oder gibt es einfachere Methoden?
Vielen Dank!
MySQL-Tabelle Anzeigen und angehackte Eintrag-IDs in ein Array zum weiterverarbeiten packen
-
- [ offen ]
-
petter2 -
10. Dezember 2009 um 21:55 -
Geschlossen -
Erledigt
-
-
Gehen tut (fast) alles. Aber ich habe persönlich nicht Zeit und Lust das ganze Tutorial durhzuarbeiten
1. Was für eine MySql Tabelle? Hast du einen Screenshot, eventuell sogar den sourecode einer solchen Seite?
2. Was hat es mit den Checkboxen auf sich? Soll in der Listview etwas angehackt werden, oder ist das bereits auf der Website so?
3. Wie soll das ganze am Ende aussehen? HTML Liste, Listview, Listbox, Textdatei, CSV Datei, 2D-Array ... ?
4. Was hast du schon selbst in die Wege geleitet um zu deinem Ziel zu kommen? -
Hmm... meinst du diese Funktion: http://selfphp.de/funktionsrefer…fetch_array.php ?
-
Das gibt das ganze dann in einem PHP-Array zurück - nur kann AutoIt mit dem was anfangen?
-
Erst einmal vielen Dank für die Antworten.
Nein, ich meine kein PHP, das kann ich ja zum Glück...
So soll das in etwa in der DB gespeichert werden:CodeName Nachname Steckbrieflink Fritz Müller http://www....../Fritz.doc Susi Klaus http://...... .....
Jetzt soll angehakt werden, welche Datein alles gebraucht werden, und diese dann in einen Ordner gedownloadet werden.
Vielen Dank!
-
Hast du meinen ersten Beitrag überhaupt gelesen?
-
Hast du meinen ersten Beitrag überhaupt gelesen?
Nein, desshalb habe ich auch alle Fragen beantwortet...
Gehen tut (fast) alles. Aber ich habe persönlich nicht Zeit und Lust das ganze Tutorial durhzuarbeiten1. Was für eine MySql Tabelle? Hast du einen Screenshot, eventuell sogar den sourecode einer solchen Seite?
>> So soll das in etwa in der DB gespeichert werden:
[Blockierte Grafik: http://www.autoit.de/wcf/icon/codeS.png] Quellcode
1
2
3
4Name Nachname Steckbrieflink
Fritz Müller http://www....../Fritz.doc
Susi Klaus http://......
.....2. Was hat es mit den Checkboxen auf sich? Soll in der Listview etwas angehackt werden, oder ist das bereits auf der Website so?
> Jetzt soll angehakt werden, welche Datein alles gebraucht werden, und diese dann in einen Ordner gedownloadet werden.
3. Wie soll das ganze am Ende aussehen? HTML Liste, Listview, Listbox, Textdatei, CSV Datei, 2D-Array ... ?
> und diese dann in einen Ordner gedownloadet werden.
4. Was hast du schon selbst in die Wege geleitet um zu deinem Ziel zu kommen?
Ok, das habe ich nicht so ganz beantwortet:
Bis jetzt noch garnicht, ich benötige eine umsetzbare Vorgehensweise, da ich absoluter AutoIt Anfänger bin.Ich hoffe, das war jetzt deutlich genug, wenn nicht, fragt bitte nochmal genau nach.
Danke -
Ein beispielquellcode der "MySQL-Liste" wäre von Vorteil. Ich weiß zwar wie Sie aussieht, allerdings hilft mir das recht wenig bei der Gestaltung eines entsprechenden Programms. Ich habe nämlich meine Glaskugel über die Adventstage in der Reinigung gelassen
Also ich fasse nochmal zusammen:
- Du möchtest die Ausgabe der MySQL Datenbank (Tabelle) auslesen. Richtig?
- Das ausgelesene möchtest du dann so weit weiterverarbeiten, dass du eine Liste o.ä. rausbekommst. Richtig?
- In dieser Liste möchtest du dann per Checkbox auswählen können, welcher von diesen Datensätzen
nochmals weiterverarbeitet werden soll. Richtig? - Was soll in nun hier genau heruntergeladenwerden? Profilseiten, ganze Datensätze, ... ?
Bitte nimm dir doch wenigstens die Zeit dein Problem, und die von dir vorgestellte Lösung ausführlich zu beschreiben. Wir sind ja keine Hellseher. So ersparst du mir das ständige Nachfragen, und dir den Stress mir andauern antworten zu müssen.
-
So ich hab mal was gemacht. Über die Angabe von Datenbankname und Tabellenname, bekommt man die beeinhalteten Daten in ein Array. Dies kann dann z.B. in einem ListView angezeigt werden...
Der Autoit-Code (kann noch vereinfacht werden):
Spoiler anzeigen
[autoit][/autoit] [autoit][/autoit] [autoit]#include <Inet.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>
#include <Array.au3>
#include <GuiListView.au3>Global $sPhpPath = "http://johannes-log.spacequadrat.de/php/"
[/autoit] [autoit][/autoit] [autoit]
Global $iColumns = 4$hWindow = GUICreate("MySql-Tabelle-auslesen - Jautois", 418, 314, 192, 124)
[/autoit] [autoit][/autoit] [autoit]
$pListView = GUICtrlCreateListView("ID|Name|Wohnort|Alter", 0, 0, 417, 313)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 50)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 100)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 180)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 83)
GUISetState(@SW_SHOW)_InsertData(_ReceiveData("web2s7728sql17", "Beispiel_DatenTabelle")) ;Datenbank und Tabelle die abgefragt werden sollen
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitEndSwitch
[/autoit] [autoit][/autoit] [autoit]
WEndFunc _InsertData($aFunc_Array = "")
[/autoit] [autoit][/autoit] [autoit]
Local $sTemp = ""If Not IsArray($aFunc_Array) Then
[/autoit] [autoit][/autoit] [autoit]
Exit
Else
_GUICtrlListView_DeleteAllItems($pListView)
For $i = 1 to UBound($aFunc_Array)
For $t = 1 to $iColumns
$sTemp &= $aFunc_Array[$i-1][$t-1] & "|"
Next
GUICtrlCreateListViewItem($sTemp,$pListView)
$sTemp = ""
Next
EndIf
EndFunc ;==>_InsertDataFunc _ReceiveData($sFunc_DB = "", $sFunc_Table = "")
[/autoit] [autoit][/autoit] [autoit]
$sRValue = _INetGetSource($sPhpPath & "get_data.php?datenbank=" & $sFunc_DB & "&tabelle=" & $sFunc_Table)
$sTemp = StringSplit($sRValue, "<br>", 1)
Dim $sData[$sTemp[0] - 1][$iColumns]For $i = 1 To $sTemp[0] - 1
[/autoit] [autoit][/autoit] [autoit]
$ssTemp = StringSplit($sTemp[$i], "<>", 1)
For $t = 1 To $iColumns
$sData[$i - 1][$t - 1] = $ssTemp[$t]
Next
NextReturn $sData
[/autoit]
EndFunc ;==>_ReceiveDataDas PHP-Script auf dem Server (get_data.php):
Spoiler anzeigen
PHP
Alles anzeigen<?php //error_reporting(0); $host = "localhost"; $user = ""; $pass = ""; $datenbank = $HTTP_GET_VARS['datenbank']; mysql_connect($host, $user, $pass); mysql_select_db($datenbank); $tabelle = mysql_real_escape_string($HTTP_GET_VARS['tabelle']); $result = mysql_query("SELECT * FROM $tabelle"); while($row = mysql_fetch_array($result)) { echo $row[0].'<>'.$row[1].'<>'.$row[2].'<>'.$row[3]."<br>"; } ?>
So sieht die Tabelle in PhpMyAdmin aus:
[Blockierte Grafik: http://johannes-log.spacequadrat.de/Do_Not_Delete/db.JPG]Schau erstmal ob es überhaupt genau das ist was du genau möchtest.
-
Es war nie die Rede von PHPMyAdmin
Schenk mir mal deine Glaskugel - das scheint ein aktuelleres Modell zu sein als meine -
Eine MySQL-Datenbank erstellt man normalerweise mit PHPMyAdmin.
@Jautois
Danke, ich schaue mir das gleich mal an
@SEuBo
Ich erstelle mal gleich eine solche MySQL-Tabelle, sieht aber so ähnlich aus wie die von Jautois, nur das dort noch eine Zeile mit einem Downloadlink sein soll. Diese Dateien sollen nacheinander in einen Ordner runtergeladen werden.- Du möchtest die Ausgabe der MySQL Datenbank (Tabelle) auslesen. Richtig?
- > Genau
- Das ausgelesene möchtest du dann so weit weiterverarbeiten, dass du eine Liste o.ä. rausbekommst. Richtig?
- > Eine Tabelle
- In dieser Liste möchtest du dann per Checkbox auswählen können, welcher von diesen Datensätzen
nochmals weiterverarbeitet werden soll. Richtig? - > stimmt auch
- Was soll in nun hier genau heruntergeladenwerden? Profilseiten, ganze Datensätze, ... ?
- > das, was als Downloadlink gespeichert wurde, z.B. sollen alle ausgewählten Word-Dokumente in einen Ordner dann heruntergeladen werden
Ich hoffe, das habt ihr jetzt verstanden
Ich melde mich gleich nochmal
Danke -
So ich hab mal was gemacht. Über die Angabe von Datenbankname und Tabellenname, bekommt man die beeinhalteten Daten in ein Array. Dies kann dann z.B. in einem ListView angezeigt werden...
Der Autoit-Code (kann noch vereinfacht werden):
Spoiler anzeigen
[autoit][/autoit] [autoit][/autoit] [autoit]#include <Inet.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>
#include <Array.au3>
#include <GuiListView.au3>Global $sPhpPath = "http://johannes-log.spacequadrat.de/php/"
[/autoit] [autoit][/autoit] [autoit]
Global $iColumns = 4$hWindow = GUICreate("MySql-Tabelle-auslesen - Jautois", 418, 314, 192, 124)
[/autoit] [autoit][/autoit] [autoit]
$pListView = GUICtrlCreateListView("ID|Name|Wohnort|Alter", 0, 0, 417, 313)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 50)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 100)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 180)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 83)
GUISetState(@SW_SHOW)_InsertData(_ReceiveData("web2s7728sql17", "Beispiel_DatenTabelle")) ;Datenbank und Tabelle die abgefragt werden sollen
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitEndSwitch
[/autoit] [autoit][/autoit] [autoit]
WEndFunc _InsertData($aFunc_Array = "")
[/autoit] [autoit][/autoit] [autoit]
Local $sTemp = ""If Not IsArray($aFunc_Array) Then
[/autoit] [autoit][/autoit] [autoit]
Exit
Else
_GUICtrlListView_DeleteAllItems($pListView)
For $i = 1 to UBound($aFunc_Array)
For $t = 1 to $iColumns
$sTemp &= $aFunc_Array[$i-1][$t-1] & "|"
Next
GUICtrlCreateListViewItem($sTemp,$pListView)
$sTemp = ""
Next
EndIf
EndFunc ;==>_InsertDataFunc _ReceiveData($sFunc_DB = "", $sFunc_Table = "")
[/autoit] [autoit][/autoit] [autoit]
$sRValue = _INetGetSource($sPhpPath & "get_data.php?datenbank=" & $sFunc_DB & "&tabelle=" & $sFunc_Table)
$sTemp = StringSplit($sRValue, "<br>", 1)
Dim $sData[$sTemp[0] - 1][$iColumns]For $i = 1 To $sTemp[0] - 1
[/autoit] [autoit][/autoit] [autoit]
$ssTemp = StringSplit($sTemp[$i], "<>", 1)
For $t = 1 To $iColumns
$sData[$i - 1][$t - 1] = $ssTemp[$t]
Next
NextReturn $sData
[/autoit]
EndFunc ;==>_ReceiveDataDas PHP-Script auf dem Server (get_data.php):
Spoiler anzeigen
PHP
Alles anzeigen<?php //error_reporting(0); $host = "localhost"; $user = ""; $pass = ""; $datenbank = $HTTP_GET_VARS['datenbank']; mysql_connect($host, $user, $pass); mysql_select_db($datenbank); $tabelle = mysql_real_escape_string($HTTP_GET_VARS['tabelle']); $result = mysql_query("SELECT * FROM $tabelle"); while($row = mysql_fetch_array($result)) { echo $row[0].'<>'.$row[1].'<>'.$row[2].'<>'.$row[3]."<br>"; } ?>
So sieht die Tabelle in PhpMyAdmin aus:
[Blockierte Grafik: http://johannes-log.spacequadrat.de/Do_Not_Delete/db.JPG]Schau erstmal ob es überhaupt genau das ist was du genau möchtest.
Ja, so habe ich mir das in etwa vorgestellt.
Es sollte jetzt noch eine Tabellenspalte (Feld) mit einer URL gepeichert werden.
Die gewünschten Einträge sollen danach angehakt werden, und dann in einen Ordner gedownloadet werden (also das, was man unter der hinterlegten URL findet). -
-
Jautois hat dir die wichtigen Sachen gegeben, warum versucht es nicht selber?
Dieser Thread ist unter "Hilfe & Unterstützung" und nicht "Mach mir das, dann das.." bzw. "Jobbörse".Kurz und Knapp: Du sagst was du möchstes und die anderen erledigen deine Arbeit? Selber versuchen wär auch mal gut.
Wollte nur meine Meinung sagen.
Mfg. Tince -
Jautois hat dir die wichtigen Sachen gegeben, warum versucht es nicht selber?
Dieser Thread ist unter "Hilfe & Unterstützung" und nicht "Mach mir das, dann das.." bzw. "Jobbörse".Kurz und Knapp: Du sagst was du möchstes und die anderen erledigen deine Arbeit? Selber versuchen wär auch mal gut.
Wollte nur meine Meinung sagen.
Mfg. TinceDas ist schon klar!!
Da ich aber 000000 Erfahrung mit AutoIt habe, und es auch kaum Bücher gibt, die Hilfe superkompliziert aufgebaut ist (ich habe dort nichts passendes gefunden), dachte ich mir, hier könnte mir jemand sagen, mit welchen Funktionen man soetwas realisieren könnte...Was mir jetzt noch fehlt, ist die Stelle, wie ich alle angehakten Einträge zur weitergabe zum folgenden Skript leiten kann http://www.autoit.de/thread.php?threadid=4169 - dort wird ja beschrieben, wie ich das downloadern kann
Also muss zu der Liste von Jautois noch eine Checkbox - Laut Hilfe geht dies aber nicht, aber Ihr kennt bestimmt andere Möglichkeiten, ich nicht. -
Wenn du "Null" Ahnung hast, dann lerne am besten die Grundlagen.
Gute Tutorials gibts sicher und es gibt auch eine vollständige Hilfe in Deutsch.
Sonst verschieb dein Thread in "Jobbörse".
JobbörseZitatDu willst ein Skript haben, hast aber keine Zeit und/oder Ahnung? Hier kannst du es anbieten!
Mfg. Tince
"Übung macht den Meister" oder so. -
Wenn du "Null" Ahnung hast, dann lerne am besten die Grundlagen.
Gute Tutorials gibts sicher und es gibt auch eine vollständige Hilfe in Deutsch.
Sonst verschieb dein Thread in "Jobbörse".
JobbörseMfg. Tince
"Übung macht den Meister" oder so.Es gibt aber nunmal kein Tutorial, indem genau das Beschreiben ist. Sonst habe ich ja bereits auf diese verwiesen.
Wie bertis gesagt, ich möchte kein komplettes fertiges perfektes Skript habe, nur die Funktionen würden mir schon reichen.Wenn du mir nicht helfen möchtest, dan hallte dich doch einfach aus der Sache raus...