Autor Beitrag
ZSKing
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 33

Win XP SP 2
Delphi 2005 PE, Delphi, Pascal, PHP, HTML
BeitragVerfasst: Sa 15.12.07 17:05 
Moin Moin!

Ich habe eine Idee für ein Programm und auch schon den Ansatz vom Anfang. :wink: Ich denke das Programm ist nicht so schwierig umzusetzen, aber ich benötige eure Hilfe weil ich es auch mit MySQL umsetzen möchte. Also das Programm soll mal so aussehen:

Du hast den Startbildschirm und da kann man auswählen zwischen "Martkplatz" und "Angebot hinzufügen".

Nun erstmal zu "Angebot hinzufügen". Dort muss man die Angabe von 3 Filtern und 3 Textangaben leisten. Der erste Filter ist "Suche" oder "Biete", der zweite ist eine von Acht Klassen auszuwählen (Es geht um ein Programm für die Gaming-Community) und der dritte ist eine Auswahl zwischen "Items", "Materialien" und "Minipets". Dann eine Artikelbeschreibung als Text, ein Preis als Text und ein ingame-Name als Text. Jetzt kann man das Angebot abschicken und nun zu "Marktplatz":

Hier sollen alle Angebote ausgelistet werden. Wenn jemand etwas findet, kann er den Verkäufer ingame anschreiben und den Artikel erwerben. Damit die Datenbank nicht zu sehr überflutet wird, sollen Angebote nach 24 Stunden wieder gelöscht werden.


So das war's. Also eine MySQl Datenbank ist vorhanden. Zwar noch von Funpic, aber da macht wohl erst einmal nichts.


Meine Frage jetzt:

Wie würdet ihr das umsetzen? Ich habe leider keine Ahnung von MySQL. Wer mir hilft kommt in's "Special THX" rein und hat bewiesen, dass er auch ohne große Anreize bei Projekten mitmacht. :)


Euer ZSKing
ZSKing Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 33

Win XP SP 2
Delphi 2005 PE, Delphi, Pascal, PHP, HTML
BeitragVerfasst: Sa 15.12.07 17:31 
Das ist vielleicht etwas viel auf einmal.
Ich sage mal:

Wie müsste eine SQL-Datei aussehen, die eine passende
Tabelle für das Programm erstellt?


Also
ausblenden Quelltext
1:
CREATE TABLE Martplatz ( .... )					
ZSKing Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 33

Win XP SP 2
Delphi 2005 PE, Delphi, Pascal, PHP, HTML
BeitragVerfasst: Sa 15.12.07 18:24 
Entschuldigt bitte für die Doppelposts, aber ich bin ein Stückchen weiter gekommen und habe jetzt eine ganz konkrete Frage:

Wie kann ich über ein Delphi-Porgramm neue Daten in eine Tabelle einfügen?
Meine Tabelle sieht so aus:

user defined image
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Sa 15.12.07 18:25 
Da die Datenbank online ist, wäre es sinnvoll, wenn du PHP-Dateien erstellst, die die Arbeiten an der Datenbank übernehmen. Diese Dateien rufst du dann mit Indy von deinem Programm auf und übergibst per GET/POST die neuen Daten.

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
DrRzf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 260

Win XP Prof
D7 Enterprise
BeitragVerfasst: Sa 15.12.07 18:31 
lt deren AGB's hat Funpic nicht die möglichkeit von aussen auf die Datenbank zuzugreifen.
Habe mir dort auch einen Acc gemacht, musste dann aber feststellen dass keinen externen zugriffe möglich sind.
Ist es doch möglich wär ich auch über aufklärung erfreut.

_________________
rein statistisch gesehen darf man keiner statistik trauen die man nicht selbst gefälscht hat.
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Sa 15.12.07 18:33 
Deshalb ist die Methode über PHP die einfachste :)

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
ZSKing Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 33

Win XP SP 2
Delphi 2005 PE, Delphi, Pascal, PHP, HTML
BeitragVerfasst: Sa 15.12.07 18:39 
Erst einmal vielen Dank für eure Antworten!

Nun habe ich aber leider keine Ahnung wie
eine solche PHP-Datei aussieht und in Delphi
bin ich auch nicht so der Überpro.


//Edit:
Also PHP/HTML kann ich eingentlich, aber ich habe
noch nicht mit MySQL im Zusammenhang mit PHP gearbeitet.
ZSKing Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 33

Win XP SP 2
Delphi 2005 PE, Delphi, Pascal, PHP, HTML
BeitragVerfasst: Sa 15.12.07 20:04 
Also ich denke es geht jetzt auch ohne PHP-Metohde, da ich die DB gewechselt habe. Ich bin jetzt auf meienr eigenen DB von dem Space meiner Homepage. :wink:

Das Programm steht jetzt und ihr könnt es euch jetzt schon einmal angucken. Ich habe es angehängt.


Naja da wäre noch die Frage zu klären wie ich die Daten von der Eingabe auf
meine Tabelle bekomme...

Ich hoffe auf eure Mithilfe und wie ihr im Programm seht ist das Feld für Special-THX noch frei. :)


MfG
ZSKing
Einloggen, um Attachments anzusehen!
ZSKing Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 33

Win XP SP 2
Delphi 2005 PE, Delphi, Pascal, PHP, HTML
BeitragVerfasst: Sa 15.12.07 21:54 
Keiner ne Ahnung?

Also ich habe nen MySQL-Connect schon im Programm drinnen.
ZSKing Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 33

Win XP SP 2
Delphi 2005 PE, Delphi, Pascal, PHP, HTML
BeitragVerfasst: So 16.12.07 00:07 
Okay ich habe jetz praktisch die finale Version rangepackt, wo nur noch
die SQl Elemente eingefügt werden müssen. Ich bin wie gesagt für die MySQL
als auch für die PHP-Version offen. user profile iconGTA-Place hatte das mit PHP
schon erwähnt, aber davon habe ich wieder keine Ahnung.

Wie gesagt bin ich allen echt sehr dankbar die helfen. Und auf Wunsch kommt
ihr auch in's "Special THX" und wenn das Programm gut klappt wird das Programm
hoffentlich von einer riesigen Fanseite gepusht. Es lohnt sich also, aber das
schon alleine weil ich euch echt dankbar bin. - Jeden Tag 'ne gute Tat! :wink:


MfG
ZSKing
Einloggen, um Attachments anzusehen!
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: So 16.12.07 00:50 
Hehe, erinnert mich irgendwie an meinen GEWar Cities Market ;)

Mit Delphi hätte ich sowas nun grade nicht realisiert, da sich für so etwas (große Community handelt mit DB) PHP+MySQL einfach anbietet. Und ohne Zusatzprogs ist man unabhängiger.

Wo ist jetzt genau das Problem? Daten einfügen läuft im Endeffekt immer auf ein INSERT INTO ... hinaus.

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
Tilman
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1405
Erhaltene Danke: 51

Win 7, Android
Turbo Delphi, Eclipse
BeitragVerfasst: So 16.12.07 02:16 
Wenn du PHP im prinzip schon kannst, aber noch nie was mit Datenbanken gemacht hast, dann würde ich mir einfach mal die entsprechenden Befehle anschauen. Das sind nur eine Hand voll mit denen man praktisch alles machen kann. Hier mal die Wichtigsten aus dem Kopf:

ausblenden Quelltext
1:
2:
3:
4:
- mysql_connect(), mysql_select_db()
- mysql_query()
- mysql_result()
- mysql_num_rows()

Damit kann man schon einen Haufen Sachen machen. Allerdings musst du dich natürlich auch mySQL-mäßig entsprechend bilden.

_________________
Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)
ZSKing Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 33

Win XP SP 2
Delphi 2005 PE, Delphi, Pascal, PHP, HTML
BeitragVerfasst: So 16.12.07 11:31 
Also ich möchte es eigentlich schon als Programm machen.

Okay. Mal angenommen, ich habe jetzt eine PHP-Datei, die mit dem MySQL connectet, kann man das dann auch in Delphi implementieren, so dass wenn man auf den Button "Artikel eintragen" klickt (ich weiß nicht ob ihr das Prog. geladen habt) es auch irgendwie in die DB kommt?
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: So 16.12.07 11:34 
Ja, du rufst die PHP-Datei dann so auf: eintragen.php?name=Heiltrank&Preis=10&user=MagicMan und genau diese Variablen trägst du dann [nach vorheriger Entschärfung wegen XXS, siehe Wiki] in die DB ein.

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
ZSKing Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 33

Win XP SP 2
Delphi 2005 PE, Delphi, Pascal, PHP, HTML
BeitragVerfasst: So 16.12.07 12:25 
Nochmal ne kurze Frage
zur PHP-Datei:

Ist daran was falsch:

ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
<?PHP
/* Datenbankserver - In der Regel die IP */
$db_server = '87.238.199.95';

/* Datenbankname */
$db_name = 'sascha  ';

/* Datenbankuser */
$db_user = 'sascha';

/* Datenbankpasswort */
$db_passwort = '*********';
         
/* Erstellt Connect zu Datenbank her */
$db = @ mysql_connect ( $db_server, $db_user, $db_passwort )
   or die ( 'Konnte keine Verbindung zur Datenbank herstellen' );

$db_check = @ mysql_select_db ( $db_name );

if ( $db )
{
  echo '<span style="color:red;">Verbindung zur Datenbank hergestellt!</span>';
}


mysql_query("INSERT INTO Marktplatz
    (Verkaufsart,Klasse,Artikelart,Beschreibung,Preis,Ingame)
VALUES
    ('$verkaufsart', '$klasse', '$art', '$beschreibung', '$preis', '$ingame')");

?>
ZSKing Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 33

Win XP SP 2
Delphi 2005 PE, Delphi, Pascal, PHP, HTML
BeitragVerfasst: So 16.12.07 12:35 
Okay ich habe es ausprobiert. So geht es nicht.
Aber sagen wir mal der PHP-Code geht und es werden dann
immer Datensätze hinzugefügt, wenn das aufgerufen wird, mit
den entsprechenden Variablen, dann müsste man doch nur noch
einen Button mit dem Standard-Browser verlinken, wo die URL
mit den Variablen aufgerufen wird, oder?!

Wenn ich das jetzt falsch verstanden und völligen Quatsch
geredet habe schließt bitte nicht den Browser und haut euch
den Kopf gegen die Wand! :) Kann mir einer weiterhelfen? Ich
glaube ein kleines Stückchen des Weges habe ich schon zurückgelegt...


Liebe Grüße
ZSKing
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: So 16.12.07 12:55 
Nein, du rufst per Indy, das ist eine Komponentensammlung und IdHTTP die Datei auf, davon kriegt der User nix mit. Ganz wichtig: Lade dir Indy 9, nicht 10. Die 9er-Version!

Hier noch ein Beispiel mit IdHTTP:
www.dsdt.info/tipps/?id=455

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
ZSKing Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 33

Win XP SP 2
Delphi 2005 PE, Delphi, Pascal, PHP, HTML
BeitragVerfasst: So 16.12.07 13:02 
Okay ich habe mich mal an den Code rangesetzt, einen befreundeten
Coder gefragt (der jetzt leider wieder off ist) und der Coder ist
nochmal ein bisschen anders geworden. Also ich habe die eintragen.php
schon einmal hochgeladen und zwar auf img48.im.funpic.de/eintragen.php.

Der Code sieht so aus:

ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
<?PHP
/* Datenbankserver - In der Regel die IP */
$db_server = '87.238.199.95';

/* Datenbankname */
$db_name = 'sascha  ';

/* Datenbankuser */
$db_user = 'sascha';

/* Datenbankpasswort */
$db_passwort = '******';
         
/* Erstellt Connect zu Datenbank her */
$db = @ mysql_connect ( $db_server, $db_user, $db_passwort )
   or die ( 'Konnte keine Verbindung zur Datenbank herstellen' );

$db_check = @ mysql_select_db ( $db_name );

if ( $db )
{
  echo '<span style="color:red;">Verbindung zur Datenbank hergestellt!</span>';
}


mysql_query("INSERT INTO Marktplatz
    (Verkaufsart,Klasse,Artikelart,Beschreibung,Preis,Ingame)
VALUES
    ('$verkaufsart', '$klasse', '$art', '$beschreibung', '$preis', '$ingame')");

?>


Sorry, aber ich habe keine Ahnung warum es nicht klappt. Ich habe wie user profile iconGTA-Place es gesagt hat img48.im.funpic.de/eintragen.php?verkaufsart=sd&.... aufgerufen, aber meine Tabelle hat immer noch 0 Bytes Daten... Was mache ich falsch?
ZSKing Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 33

Win XP SP 2
Delphi 2005 PE, Delphi, Pascal, PHP, HTML
BeitragVerfasst: So 16.12.07 13:42 
Die Indy-Units alle in das Projekt implementieren?
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: So 16.12.07 14:17 
1. IdHTTP auf die Form ziehen.
2. Variablen werden in PHP mit $_POST['name'] und $_GET['name'] angesprochen.

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)