php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 14-01-2008, 16:37
Fabsi
 Newbie
Links : Onlinestatus : Fabsi ist offline
Registriert seit: Jan 2008
Beiträge: 7
Fabsi ist zur Zeit noch ein unbeschriebenes Blatt
Standard Beste Lösung?

Hi Leute,


bin gerade dabei ein neues Projekt zu starten, ein Browsergame, und da gibts natürlich sehr viele Datenbankzugriffe, und im Verwalten großer Datenmengen in Mysql habe ich echt wenig Erfahrung!

Am besten ist man stellt es sich vor wie beim Fußball vor, da gibts ein Transfersystem, Spiele, Training etc.

Und nun dachte ich mir ich lege eine Mysql-Tabelle User an, wo ID, Name, Pw, etc gespeichert sind und dann eine Tabelle Spieler ID, BESITZER(ID des Useres), Name, Werte, etc. Natrülich ist es hier schon sinnvoll die Tabelle nach Besitzer zu ordnen und nicht nach ID, das erleichtert das Auslesen schon um einiges. Trotzdem wenn z.B. mit 1000 User je 20 Spieler sind das schon mal 20000 Spieler und bei jeder Seite die der User, aufruft ein Zugriff auf die Datenbank, das ist nicht optimal denke ich, oder funzt das noch halbwegs schnell?

Naja, die besser Lösung wäre man lädt beim Login des Users die Daten die solange vorhanden sind wie er online ist bzw. die Session läuft, ebenso wenn er Daten ändert, sollen diese ja natürlich auch neu geladen werden! Nur ich habe echt null Plan, wie ich das lösen soll.

Was meint ihr, wie löse ich das am besten?

Ein anderes Problem ist noch, wie ich es am besten löse das z.B. am Mittwoch um 12:00 die Werte des Spielers um den Trainingserfolg erhöht werden, ohne das des User Online ist?

Bin für alle Lösungswege offen, freue mich schon auf eure Ideen.

mfg

Fabsi

PS: Es wird kein Fussballmanager oder so, dient nur zur Verwirrung!
Mit Zitat antworten
  #2 (permalink)  
Alt 14-01-2008, 17:01
IchBinIch
 Registrierter Benutzer
Links : Onlinestatus : IchBinIch ist offline
Registriert seit: Apr 2003
Beiträge: 324
IchBinIch ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: Beste Lösung?

Zitat:
Original geschrieben von Fabsi
[B]bin gerade dabei ein neues Projekt zu starten, ein Browsergame
Ja,

Zitat:
, und da gibts natürlich sehr viele Datenbankzugriffe, und im Verwalten großer Datenmengen in Mysql habe ich echt wenig Erfahrung!
vielleicht erstmal ein bisschen belesen? Wenn du von vorn herein weißt, dass dir das Know-How fehlt, ist das nicht besonders aussichtsreich....

Zitat:
Und nun dachte ich mir ich lege eine Mysql-Tabelle User an, wo ID, Name, Pw, etc gespeichert sind
Ja, das ist sicher sinnvoll, bei nem Browsergame.

Zitat:
und dann eine Tabelle Spieler ID, BESITZER(ID des Useres), Name, Werte, etc. Natrülich ist es hier schon sinnvoll die Tabelle nach Besitzer zu ordnen und nicht nach ID, das erleichtert das Auslesen schon um einiges.
Tabellenaufbau ist okay. Eine sortierung IN der Datenbank dürfte wohl ziemlich überflüssig sein, weil immer wieder neue Datensätze hinzukommen und außerdem Mysql ohnehin die komplette Tabelle durchsuchen muss.

Zitat:
Trotzdem wenn z.B. mit 1000 User je 20 Spieler sind das schon mal 20000 Spieler und bei jeder Seite die der User, aufruft ein Zugriff auf die Datenbank, das ist nicht optimal denke ich, oder funzt das noch halbwegs schnell?
Wir reden von MySQL oder? 20.000 Einträge dürfte den Server gerade mal Kitzeln...

Zitat:
Naja, die besser Lösung wäre man lädt beim Login des Users die Daten die solange vorhanden sind wie er online ist bzw. die Session läuft, ebenso wenn er Daten ändert, sollen diese ja natürlich auch neu geladen werden! Nur ich habe echt null Plan, wie ich das lösen soll.
Wenn die daten Statisch sind, macht ein temporäres Speichern in der Session sicher Sinn. Sobald sie aber von mehreren Stellen beeinflusst werden können, würde ich mir das sparen. Also würd ich drauf verzichten.

Zitat:
Was meint ihr, wie löse ich das am besten?
Ich kann nicht glauben, dass du für diese Frage so viel Text gebraucht hast. Zeigt dass du Sachverhalte nicht gerade komprimiert auffassen und wiedergeben kannst, ein weiteres Argument gegen ein "solch komplexes" Browsergame.

Zitat:
Ein anderes Problem ist noch, wie ich es am besten löse das z.B. am Mittwoch um 12:00 die Werte des Spielers um den Trainingserfolg erhöht werden, ohne das des User Online ist?
Möchtest ein BG programmieren und hast noch nie was von Cronjobs gehört?
__________________
ICH BIN ICH!!!
Mit Zitat antworten
  #3 (permalink)  
Alt 14-01-2008, 18:43
Fabsi
 Newbie
Links : Onlinestatus : Fabsi ist offline
Registriert seit: Jan 2008
Beiträge: 7
Fabsi ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: Re: Beste Lösung?

Zitat:
Original geschrieben von IchBinIch
Ja,

vielleicht erstmal ein bisschen belesen? Wenn du von vorn herein weißt, dass dir das Know-How fehlt, ist das nicht besonders aussichtsreich....

Ja, das ist sicher sinnvoll, bei nem Browsergame.

Tabellenaufbau ist okay. Eine sortierung IN der Datenbank dürfte wohl ziemlich überflüssig sein, weil immer wieder neue Datensätze hinzukommen und außerdem Mysql ohnehin die komplette Tabelle durchsuchen muss.

Wir reden von MySQL oder? 20.000 Einträge dürfte den Server gerade mal Kitzeln...

Wenn die daten Statisch sind, macht ein temporäres Speichern in der Session sicher Sinn. Sobald sie aber von mehreren Stellen beeinflusst werden können, würde ich mir das sparen. Also würd ich drauf verzichten.

Ich kann nicht glauben, dass du für diese Frage so viel Text gebraucht hast. Zeigt dass du Sachverhalte nicht gerade komprimiert auffassen und wiedergeben kannst, ein weiteres Argument gegen ein "solch komplexes" Browsergame.

Möchtest ein BG programmieren und hast noch nie was von Cronjobs gehört?
Ja, thx für deine offene Meinung, ja ich programmiere seit ein paar Jahren, aber halt nur in Richtung C etc.!

Mit der Materie PHP beschäftige ich mich erst wenige Monate, mit Mysql habe ich erst kleinere Spielerein programmiert wie Gästebuch, Login etc..und ich möchte mich durch das Browsergame weiterentwickeln, da man da einiges an Php und Mysql benötigt und lernt!

Hast irgendwo gute Tutorials zum Thema Cronjobs?

mfg
Mit Zitat antworten
  #4 (permalink)  
Alt 14-01-2008, 19:25
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zum Thema Cronjob liest man einmal den Artikel auf Wikipedia und gut ist...
Mit Zitat antworten
  #5 (permalink)  
Alt 14-01-2008, 19:40
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard Re: Re: Re: Beste Lösung?

Zitat:
Original geschrieben von Fabsi
Ja, thx für deine offene Meinung, ja ich programmiere seit ein paar Jahren, aber halt nur in Richtung C etc.!
Ja, genau. Das höre ich so unglaublich oft. Du programmierst C? Wie ist denn die Standarddateiendung für C-Code-Dateien? Und wie beende ich ein Programm ordnungsgemäß? Wenn du mir diese beiden Fragen beantworten kannst, überlege ich mir dir zu glauben. Andernfalls versuch jemanden anderes für dumm zu verkaufen. Deine SQL-Kentnisse sind nicht "minimal", sie sind schlicht nicht vorhanden. Ähnliches nehme ich in Bezug auf deine restlichen "Programmiererfahrungen" an. Denn welcher Erfahrene Programmierer einer jedeweden Sprache würde sich so ein Monsterprojekt wie ein Browsergame als "Einstieg" aussuchen?
Mit Zitat antworten
  #6 (permalink)  
Alt 14-01-2008, 20:29
Fabsi
 Newbie
Links : Onlinestatus : Fabsi ist offline
Registriert seit: Jan 2008
Beiträge: 7
Fabsi ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: Re: Re: Re: Beste Lösung?

Zitat:
Original geschrieben von unset
Ja, genau. Das höre ich so unglaublich oft. Du programmierst C? Wie ist denn die Standarddateiendung für C-Code-Dateien? Und wie beende ich ein Programm ordnungsgemäß? Wenn du mir diese beiden Fragen beantworten kannst, überlege ich mir dir zu glauben. Andernfalls versuch jemanden anderes für dumm zu verkaufen. Deine SQL-Kentnisse sind nicht "minimal", sie sind schlicht nicht vorhanden. Ähnliches nehme ich in Bezug auf deine restlichen "Programmiererfahrungen" an. Denn welcher Erfahrene Programmierer einer jedeweden Sprache würde sich so ein Monsterprojekt wie ein Browsergame als "Einstieg" aussuchen?
Sorry, ja ich programmiere auf Ubuntu mit Ecplise, aber ich weiß nicht was das soll, das ich mich hier rechtfertigen muss, meinetwegen, ich lerne seit 2 Jahren C, vll. sagen dir ja Begriffe wie Listenverwaltung, Pointer(Zeiger) etc. was, bezweifle das damit jeder 0815 "C-Programmierer" was anfangen kann..... ja Dateiendung .c, Programm ordnungsgemäß beenden return 0, was hättest du für Antworten erwartet .cpp...

mfg
Mit Zitat antworten
  #7 (permalink)  
Alt 14-01-2008, 20:35
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Du musst gar nichts, ich sage nur, was du tun kannst, um in meiner Gunst zu steigen. Und davon hättest du ja auch nichtmal besonders viel. Außer den schon gegebenen kostenlosen Tipp: Such dir ein kleines Projekt aus!

P.S.: Ich glaub dir immer noch nicht.
Mit Zitat antworten
  #8 (permalink)  
Alt 15-01-2008, 00:55
ZombieChe
 Member
Links : Onlinestatus : ZombieChe ist offline
Registriert seit: Apr 2004
Ort: Hannover
Beiträge: 225
ZombieChe ist zur Zeit noch ein unbeschriebenes Blatt
ZombieChe eine Nachricht über ICQ schicken
Standard

Mhmm, ich finde auf das Thema "Brwosergame" wird hier imho viel zu allergisch reagiert, auch wenn ich es teils nachempfinden kann. Wenn jemand den Willen hat, soetwas anzufangen, dann sollte man ihn nicht mit pauschalen Aussagen wie "Lass es bleiben - wird sowieso nichts" abschmettern. Den Fähigkeitsgrad des TOs kann und sollte hier niemand einschätzen und entsprechend muss er sich auch nicht dafür rechtfertigen.
Allerdings kann ich es verstehen, wenn es einige Leid sind, den x Tausendsten Thread übers BG Programmieren zu beantworten, aber ich würde empfehlen, dann einfach gar nichts zu schreiben, dann sparen sich gewissen Leute die Schreibarbeit und gewisse andere Leute merken dann, dass ihr Problem nicht auf sonderlich viel Resonanz stößt.

Meine Meinung ist, dass du den konzeptionellen Aufwand hinter so einem Projekt nicht unterschätzen solltest. Es gibt derart viele Designentscheidungen (im SW-Entwurf), die getroffen werden müssen, dass es halt einfach ein Teufelswerk wäre, sowas alleine und vor allem in absehbarer Zeit vernünftig hinzubekommen. Auf keinen Fall solltest du dir zum Ziel setzen, sofort ein Rundum-Sorglos-Programm zu schreiben. Ich würde dir raten, zuerst ein minimal laufendes BG zu schreiben (also wirklich ein Mini-Projekt). In der Regel merkt man schnell wo seine eigenen Grenzen liegen und welche Techniken sich besser eignen als andere.

Auf jeden Fall solltest du dich mit den Grundregeln und -begriffen vertraut machen.

Viel Glück ;-)

btw.: Browsergame ist ein ziemlich weit gedehnter Begriff. Man kann auch BGs machen, die den Aufwand eines Gästebuchs nicht übersteigen...
Mit Zitat antworten
  #9 (permalink)  
Alt 15-01-2008, 11:21
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Da lässt sich drüber streiten. Wer aber nicht weiß was ein Cron Job ist, wer nicht weiß, ob 20.000 Datensätze für eine Datenbank schon eine große Belastung ist und wer generell kaum Erfahrung in der Sprache hat, in der das Spiel verfasst werden soll hat, der soll - zum Teufel nochmal - nicht auf so eine bescheuerte Idee kommen.

Und ich schmetter diese Leute dann lieber direkt im Vorfeld ab, dass sie a) nicht anfangen, und ich ihnen die ca. eine Millionen Fragen die dann noch kommen werden nicht beantworten muss (bzw. ich nicht auf die Suche hinweisen muss, denn beantwortet wurde so gut wie jede Frage hier schon einmal) oder b) meinen Hinweis nicht annehmen, trotzdem anfangen aber ihre doofen Fragen nicht hier stellen, weil hier ja die bösen Leute rumhängen. Mir beides Recht.
Mit Zitat antworten
  #10 (permalink)  
Alt 15-01-2008, 11:35
stekoe2000
 Registrierter Benutzer
Links : Onlinestatus : stekoe2000 ist offline
Registriert seit: Jul 2003
Beiträge: 342
stekoe2000 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

OffTopic:

Zitat:
Original geschrieben von unset
[...] und ich ihnen die ca. eine Millionen Fragen die dann noch kommen werden nicht beantworten muss (bzw. ich nicht auf die Suche hinweisen muss, denn beantwortet wurde so gut wie jede Frage hier schon einmal) oder b) meinen Hinweis nicht annehmen, trotzdem anfangen aber ihre doofen Fragen nicht hier stellen, weil hier ja die bösen Leute rumhängen. [...]
Naja .. learning by doing, ein Freund von mir hat auch als erstes ein Browsergame programmiert und es war der Renner an unserer Schule. Er hats verkauft und zwar nicht für wenig (der Code sieht grausam aus, da waren die 300€ echt viel zu viel).

Ich denke, dass die Leute, die das machen wollen, es machen sollen, aber DIE wollen es machen und im Endeffekt schlägt es auf die PHP-Communities zurück, weil alle Grundlegenden Fragen hier dann erklärt werden müssen .. von JOINS fangen wir jetzt noch gar nicht an.

Daher würde ich unset zustimmen ... Warum nciht erst ein Gästebuch, Datenbankanbindung, _sicheres_ PHP Scripting und DANN nen BG... Ich scripte seit 4 Jahren und denke nicht, dass ich ein BG schreiben könnte...

__________________
Liebe Grüße,
SteKoe!

PHP Tutorials
Peter Kropff | Quakenet | Schattenbaum.net
Mit Zitat antworten
  #11 (permalink)  
Alt 15-01-2008, 11:55
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von stekoe2000
OffTopic:
Ich scripte seit 4 Jahren und denke nicht, dass ich ein BG schreiben könnte...

OffTopic:
Das ist ja auch noch so ein Punkt. Ich spreche hier noch nicht einmal den Leuten die Fähigkeit ab, so etwas überhaupt programmieren zu können. Die Sache ist nur einfach die, dass da eine ganze Menge mehr dazu gehört. Wischen wir uns mal den Traumsand aus den Augen: Ein "erfolgreiches" Browserspiel in dem Sinne, dass eine beträchtliche Anzahl von Spielern ein mehr oder weniger komplexes Spiel spielen, ist eben nicht in ein paar Wochen gemacht - und schon gar nicht alleine.

Den Organisatorischen Rattenschwanz das "Wie und was", das Know-How, das Wissen wie man ein Konzept erstellt (da hört man ja auch die bescheurtesten Sachen: "Mal dir alles auf Papier auf", "Mach ein Screendesign und beschreibe jeden Punkt") all das fehlt ganz einfach! Und das alles aufeinmal lernen zu wollen ist eben nicht möglich!
Mit Zitat antworten
  #12 (permalink)  
Alt 15-01-2008, 15:28
Fabsi
 Newbie
Links : Onlinestatus : Fabsi ist offline
Registriert seit: Jan 2008
Beiträge: 7
Fabsi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke für die Antworten, auch wenn es zwar Off Topic ist, aber das BG das ich erstellen will, muss bzw. sollte auch nicht sofort ein wahnsiniges großes BG sein wo hunderte Leute zocken, in erster Linie soll es mir dienen meine php und Mysql "Kenntnisse" zu erweitern. Wenns was wird stell ichs online und die Leute sollen spielen und wenn nicht, naja immerhin habe ich hoffentlich einiges gelernt.

Ich denke wir schließen diesen Thread!
Mit Zitat antworten
  #13 (permalink)  
Alt 15-01-2008, 15:34
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Wenn du was lernen willst, nimm dir andere Projekte vor (wie oft ich das schon gesagt hab in 2008 ... will nicht mal jemand mitzählen? ) - BG haben einen relativ begrenzten Bereich an Kenntnissen, die sie beanspruchen. IMHO sind die meisten BGs auch von Laien geschrieben worden, die für 10.000 Spieler schon eine zweite physische Kiste rankarren. Entsprechend kann man sich denken, wie der Code aussieht.

Befass dich lieber mit den anderen, wunderbaren Bereichen von PHP, die du praktisch viel besser einsetzen kannst. Lies dich in Sicherheitsaspekte ein. Optimiere deine SQL-Performance. Versuche dein PHP sauber zu bekommen. Design-Pattern einstudieren (das ist generell mal eine gute Idee) ... und irgendwann mal, wenn du PHP im Schlaf kannst und beim Pizzadienst in SQL bestellst, dann denk nochmal drüber nach ein BG zu machen - denn wo da die Probleme liegen, habe ich dir ja schon geschrieben.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:15 Uhr.