anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Di 10 Jun, 2025 08:30

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Auktionen
BeitragVerfasst: Mi 29 Okt, 2008 14:52 
Offline
Held
Held

Registriert: Fr 17 Okt, 2008 20:06
Beiträge: 253
Geschlecht: Männlich
LoGD: off
Hi!

Die SuFu hat mir nicht grade weitergeholfen..

Ich wollte eine Art Häuser versteigerung machen, sodass, sagewn wir man für 10k Gold sein Haus anbietet und Interesenten dann, sagen wir 2 RL Tage Zeit haben zu bieten und der höchst bietende bekommt es dann..

Nur mein problem ist..

ich hab keinerlei Idee wie ich das machen soll, dass man Anbieten kann und dass man seinen eigenen Startpreis machen kann (mit mindeststart Preis und max-Start preis..)

Wäre nett, wenn mir jemand Helfen könnte

_________________
Wenn ihr mir sagt wie ich es als Datei hochlade, dann kann ich die Source hochladen die ihr wollt .D


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Auktionen
BeitragVerfasst: Mi 29 Okt, 2008 15:20 
Offline
Freak
Freak

Registriert: So 30 Okt, 2005 17:48
Beiträge: 1408
Wohnort: PB
Geschlecht: Männlich
LoGD: http://dav.blood-reaver.de/lotgd/
Gehe es doch mal ganz Grundlegend an:
Der Anfang ist immer: Ein User muss (nach Prüfungen ob er das kann etc.) ein Haus zur Versteigerung anbieten. Hier muss also die für ein Auktionsangebot nötige Datenmenge irgendwie zunächst aufgenommen und dann natürlich abgespeichert werden - am einfachsten wohl in der DB: Entweder als zusätzliche Felder in der houses-Tabelle oder aber (sauberer in meinen Augen) in einer separaten Tabelle (nennen wir sie einmal "auktionen"). Letztere bräuchte in etwa folgende Felder:
    auktion_id (INT) - einfach eine ID als Primärschlüssel
    acctid (INT) - Verweis auf die acctid des verkäufers
    house_id (INT) - Verweis auf die id des Hauses
    start (DATETIME) - Zeitpunkt des Auktionsstart
    ende (DATETIME) - Zeitpunkt des Auktionsschlusses
Das sollte soweit schon mal reichen (warum sehen wir gleich)
Nächster Abschnitt: die Auktion wird freigegeben und andere User können auf das Haus bieten. Eleganterweise können wir hier ein bisschen verallgemeinern und sagen, dass das allererste Gebot der Startpreis des Besitzers ist - damit sparen wir uns weitere Felder in der auktionen-Tabelle. Nun müssen natürlich die Gebote auch noch irgendwo gespeichert werden - wir brauchen also noch eine weitere Tabelle: "auktionsgebote", die da aussehen könnte wie folgt:
    gebot_id (INT) - Primärschlüssel (eigentlich nicht zwingend nötig)
    auktion_id (INT) - Zuordnung zur Auktion
    acctid (INT) - id des bieters
    datum (DATETIME) - datum des Gebotsabgabe
    gold (INT) - gebotener Wert Goldstücke
    gems (INT) - gebotener Wert Edelsteine

Nun musst du "nur" noch eine Oberfläche dazu schreiben um das ganze ein- und natürlich aus zugeben. Schlussendlich muss eben der Höchstbietende noch bestimmt werden und der Handel durchgezogen werden. Hier taucht nun allerdings ein Problem auf: Was wenn der User nicht mehr genug Finanzmittel hat. Hier musst du dir nun selbst überlegen, wie du das angehen willst - z.B. indem die User das Gold schon beim Bieten einzahlen müssen und es im nicht-Siegesfall wieder ausgezahlt wird (was allerdings bei einem DK auf Seiten des Users wunderbare Geld-Überbrückungsmöglichkeiten bietet).

Soweit erst mal meine tips
Auric

_________________
Mehr oder minder inaktiv


Zuletzt geändert von Auric am Mi 29 Okt, 2008 19:12, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Auktionen
BeitragVerfasst: Mi 29 Okt, 2008 18:01 
Offline
Held
Held

Registriert: Fr 17 Okt, 2008 20:06
Beiträge: 253
Geschlecht: Männlich
LoGD: off
da mein Datenbank wissen das beste ist ;-)

alles varchar oder? und welche länge/Set?

_________________
Wenn ihr mir sagt wie ich es als Datei hochlade, dann kann ich die Source hochladen die ihr wollt .D


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Auktionen
BeitragVerfasst: Mi 29 Okt, 2008 20:54 
Offline
Freak
Freak

Registriert: So 29 Jan, 2006 09:41
Beiträge: 1927
Wohnort: Schweiz
Geschlecht: Männlich
Skype: louis.huppenbauer
Hat Auric ja sogar angegeben. Jeweils in der Klammer ;-)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Auktionen
BeitragVerfasst: Do 30 Okt, 2008 10:38 
Offline
Freak
Freak
Benutzeravatar

Registriert: Sa 16 Jul, 2005 22:40
Beiträge: 693
Wohnort: /var/server/home/castle
Geschlecht: Männlich
LoGD: http://www.kokoto.de/
Skype: Apfelschokowodkakekskuchen
nun da es bei datetime meines wissens keine länge (wozu auch) gibt, und es sonst nur int felder sind, nimmst einfach 11 weil du wahrscheinlich weder mit der id noch mit dem gold oder gems betrag jemals über die mögliche größe von einem int 11 drüber kommst ;D


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Auktionen
BeitragVerfasst: Do 30 Okt, 2008 15:51 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Die Zahl in den Klammern ist nicht die Länge. Mit "Länge" ist etwas anderes gemeint - und zwar das auffüllen von wievielen Leerschlägen bei der Ausgabe. Und, wenn das ZEROFILL-Flag gesetzt ist, mit wievielen Nullen aufgefüllt werden muss - 11 bedeutet also, dass die Zahl *immer* 11 Stellen haben muss, sofern weniger. 1 wird demnach zu 00000000001.
int ist die Grösse des Feldes - 2^32. Das oberste Maximum für die Zahlen ist demnach 2^31-1.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Auktionen
BeitragVerfasst: Fr 31 Okt, 2008 13:45 
Offline
Freak
Freak
Benutzeravatar

Registriert: Sa 16 Jul, 2005 22:40
Beiträge: 693
Wohnort: /var/server/home/castle
Geschlecht: Männlich
LoGD: http://www.kokoto.de/
Skype: Apfelschokowodkakekskuchen
hm, wenn ich nun aber statt 11 nur 1 nehm, dann hat es max eine stelle oder mindestens eine stelle? also kann die zahl dann auch mehr stellen haben..?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Auktionen
BeitragVerfasst: Sa 01 Nov, 2008 23:52 
Offline
Großmeister
Großmeister

Registriert: Fr 01 Jul, 2005 18:41
Beiträge: 484
Wohnort: Saarbrücken
Geschlecht: Männlich
Tidus hat geschrieben:
hm, wenn ich nun aber statt 11 nur 1 nehm, dann hat es max eine stelle oder mindestens eine stelle? also kann die zahl dann auch mehr stellen haben..?


Hat dir Eli doch eig. erklärt? Wenn du 1 nimmst, hast du mind. 0, aber max. 1, denn 2^1-1 = 1.
Das ist ja immer viel, was man besser machen könnte, wo sich die Leute denken "mir egal, 11 passt schon", aber dass sie dafür 32 Bit unnötig verbrauchen, wissen sie nicht. ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Auktionen
BeitragVerfasst: Sa 01 Nov, 2008 23:56 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Nein, NEIN. 11 hat *NICHTS* mit der Anzahl STELLEN zu tun.
Verdammt.
Lest ihr denn nicht?
Diese Zahl sagt einzig etwas darüber aus, bis wohin mit Leerschlägen bei der Ausgabe aufgefüllt wird.
Alles klar?
Egal ob 11 oder 1, die Zahl hat trotzdem 32 bit. Und kann trotzdem 2^31-1 gross werden, bzw. -2^31 klein.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Auktionen
BeitragVerfasst: So 02 Nov, 2008 00:25 
Offline
Großmeister
Großmeister

Registriert: Fr 01 Jul, 2005 18:41
Beiträge: 484
Wohnort: Saarbrücken
Geschlecht: Männlich
Stimmt, du hast Recht. Da hatte ich wohl noch ander Typen nebenbei im Kopf gehabt. ;)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
cron
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum