php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.04.2005, 00:59  
Gast
 
Beiträge: n/a
Standard Datenbanklogik...

Hallo,

ich möchte für ein Spiel einen Schiffseditor mit PHP basteln.
Nun bin ich dabei eine MYSQL Tabelle anzulegen und komm ins grübeln...
Nur um ein Beispiel zu nennen, es gibt eine Waffe in drei ausführungen
Leicht mittel und schwer, und die kann wieder auf drei verschiedene
Arten am Schiff befestigt werden, am Bug, mit einem erweiterten Feuerbereich und auf einem Turm.
So von der Logik her sollte man für jede Variante ein Tabellenfeld anlegen?

Die fertigen Schiffe sollen in einer anderen Tabelle abgelegt werden.

Mir gehts darum das man die Fertigen Schiffe dann auch mit PHP wieder
darstellen kann.
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 13.04.2005, 01:21  
Erfahrener Benutzer
 
Registriert seit: 14.01.2004
Beiträge: 2.543
fantast
fantast eine Nachricht über ICQ schicken
Standard

nein. das haette nix mit logik zu tun. machs so:

CREATE TABLE `schiffe` (
`sid` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`sname` VARCHAR( 32 ) NOT NULL ,
`swptype` SET( 's', 'm', 'h' ) NOT NULL ,
`swploc` SET( 'f', 'c', 't' ) NOT NULL ,
PRIMARY KEY ( `sid` )
);

ein feld fuer id und name (plus andere dinge am schiff, weiss ja nich was du noch brauchst) und dann jeweils eins fuer waffentyp (swptype) sowie ort (swploc)... die buchstaben sollen fuer "small", "medium", und "heavy" sowie "front", "center", "tower" stehen...

#edit: oder du machst separat eine tabelle:

CREATE TABLE `waffen` (
`wid` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`wname` VARCHAR( 32 ) NOT NULL ,
`wtype` SET( 's', 'm', 'h' ) NOT NULL ,
`wloc` SET( 'f', 'c', 't' ) NOT NULL ,
PRIMARY KEY ( `wid` )
);

und tust dann in die schiffstabelle nur die id der waffe rein...
__________________
Was ist validität?
fantast ist offline  
Alt 13.04.2005, 03:20  
Gast
 
Beiträge: n/a
Standard

Nein, du hast meine Problematik nicht verstanden,
stell dir vor es gibt 10 Waffen in je 3 Ausführungen und 3 Montierarten.
Dann gibt es noch meintwegen eine Lafette die bis zu 10 Abschussrohre hat (also 10 Varianten) und auch wieder je 3 Montierarten.
Dann noch x Ausrüstungsteile auch wieder in je X Varianten.
z.b. einen Scanner in Reichweiten 1-10 und so weiter.

Meine Frage ist jetzt kann ich mich irgendwie davor drücken alle Varianten aufzuführen?

Indem ich z.b. eine Tabelle mach wo die Waffen drin stehen und 3 oder
4 Tabellen die dann einfach nur Kat 1-10 enthalten und das dann an
die Schiffsdatenbank weiterleiten, also den inhalt von 2 oder mehr Tabellenfelder in einem Tabellenfeld speichern und die dann auch wieder
zurückschlüssen wenn man das Schiff aufruft?

Wenn der z.b. eine Waffe Ausführung heavy montierung Turm und anzahl 3 hat, das alles in einem Feld ablegen?

Hehe es hilft schon wenn man darüber redet, ich denke ich bin schon ein Stück weiter...
 
Alt 13.04.2005, 10:08  
Benutzer
 
Registriert seit: 26.04.2004
Beiträge: 48
sharky
Standard

Hallo,
ich würde es so machen:

1 Tabelle Waffe (Waffen_ID,Waffenname)
2 Tabelle Ausfuehrung (Ausfuehrung_ID,Ausfuerungsname)
3 Tabelle Montierung (Montierung_ID,Montierungname)

In der 4. Tabelle kann man dann entsprechend alles Zusammenführen:

4 Tabelle Schiff (Schiff_ID,Schiffname,Waffen_ID,Ausfuehrung_ID,Mon tierung_ID)

Also im Prinzip so, wie du es schon selber richtig erkannt hast.

Gruß
sharky
sharky ist offline  
Alt 13.04.2005, 15:10  
Gast
 
Beiträge: n/a
Standard

Ja, aber kann man Waffen_ID,Ausfuehrung_ID,Montierung_ID, und menge der Waffe in einem Feld zusammen ablegen?

Mir gehts jetzt darum wenn die Schiffe grösser werden und so 20 - 30 Waffen tragen soll das nicht ausarten mit der Tabelle...
 
Alt 13.04.2005, 16:24  
Erfahrener Benutzer
 
Registriert seit: 14.01.2004
Beiträge: 2.543
fantast
fantast eine Nachricht über ICQ schicken
Standard

NEIN! das wird sehr chaotisch und unuebersichtlich. du machst die drei tabellen, die sharky vorschlaegt (oder zumindest so aehnlich) und dann eine weitere, in der die schiffsid und die jewiligen moniterungs-, ausfuehrungs- und waffenids notiert sind. so ist die zuordnung am uebersichtlichsten.
__________________
Was ist validität?
fantast ist offline  
Alt 13.04.2005, 17:37  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von kane69
20 - 30 Waffen tragen [..] nicht ausarten mit der Tabelle...
Also 30 Datensätze pro Tabelle sind ja nun auch nicht wirklich viel!
imported_Ben ist offline  
Alt 13.04.2005, 18:44  
Gast
 
Beiträge: n/a
Standard

Wieso 30? Es sind ja eben pro getragene Waffe 4 Felder nötig.
Also sind es bei 30 Waffen schon 120 Felder, dann kommt noch die gesamte ausrüstung dazu, komm ich schnell auf über 200 Felder...

Die alternative bei der Waffenliste jede mögliche Variante aufzuführen erscheint mir bei längerem überlegen doch fast sinnvoller, oder?
Also:
1 Waffe1A1 A- einfache version 1- einfache Anbringung
2 Waffe1A2
3 Waffe1A3
4 Waffe1B1 usw...

Dann brauch ich in der Schiffsliste nur waffenummer und menge ablegen.
Die Frage ist für mich, weil ich net so der PHP Held bin womit ich nachher einfacher arbeiten kann.
 
Alt 13.04.2005, 19:06  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Quatsch. Du hast z.B. 30 unterschiedliche Waffen. Jo, dann hast Du pro Waffe vier Felder. Dann hast Du trotzdem nur 30 Datensätze.

Mal reinschauen:
http://ffm.junetz.de/members/reeg/dev/DSP/node19.html
imported_Ben ist offline  
Alt 14.04.2005, 02:50  
Gast
 
Beiträge: n/a
Standard

Mhh, mag für dich so leicht sein wie das ein mal eins, aber räts du jedem der sich ein Brot schmieren will Koch zu lernen?
Mir schwirrt auf jeden fall nach der dritten seite der Kopf und hatte mir eigendlich erhofft das mir das einer in simple deutsch erklären kann.
Nuja, ich beiss mich da schon durch...
Dennoch thx.
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
datenbanklogik, validitätsprüfung datenbanklogik, datenbanklogik abbilden, datenbanklogik mysql, waffenumer

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:46 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.