News - Features - Downloads - Forum - Team - Support - Switch View: Screen
Login - Registrierung - Passwort vergessen

Antworten: 5
Seite [1]
Atomic


King for a day




Herkunft: Weikersheim
Beiträge: 261
# Thema - 18.02.2010 um 12:15 Uhr
Hallo!

Ich habe für mein derzeitiges Trainingsmodul (fast fertig) mehrere Optionsfelder in der Datenbank angelegt und komme gerade auf den Trichter, das man das hätte anders lösen können.

Derzeit habe ich:
 
1.
2.
3.
4.
5.
6.
7.
8.
1. / 2. / ... 
 CREATE TABLE `{pre}_trainsopts` (
  `
trainsopts_id` {serial} ,
  `
trainsopts_greenfloat NOT NULL default '0',
  `
trainsopts_greyfloat NOT NULL default '0',
  `
trainsopts_redfloat NOT NULL default '0',
  `
trainsopts_halfgreenfloat NOT NULL default '0',
  `
trainsopts_halfredfloat NOT NULL default '0',
usw usw.


da stehen allerdings nur einzelne Werte in den Feldern wie
 
1.
1. / 2. / ... 
 INSERT INTO `{pre}_trainsopts` ( `trainsopts_green` , `trainsopts_grey` , `trainsopts_red` , `trainsopts_halfgreen` , `trainsopts_halfred` ..... VALUES ('5''2''1''4''2''3''0''-5''-10''30' .....


Hätte es einen Vorteil gebracht, wenn ich ein einziges Feld erzeugt und alles Kommagetrennt hinzugefügt hätte?


Alle Optionsfelder können in den Grundeinstellungen (Coins bei Trainzusage, verspätetes Train usw) eingestellt werden. Problem würde dann wahrscheinlich beim auslesen auftauchen, da nicht immer alle Optionen gebraucht werden, wie Train-Screenshot wird nur max. Bildhöhe, breite, größe benötigt.


Gruß, Micha

PS: Kann jemand ein Php-Buch empfehlen, wo auch die für Anfänger verwirrende Mysql-DB erklärt wird? Am Besten so das man es auch versteht.
Inaktiv
=]CTG[= | Lila Ungeheuer


Beginner




Beiträge: 6
# Antwort: 1 - 05.03.2010 um 13:47 Uhr
Ohne das Modul jetzt zu kennen:

Vielleicht solltest Du das Datenmodell nochmal überdenken.
Formal wären zwei Tabellen vermutlich besser.

TAB1:
PKEY (ID), TYPE_ID, OPTION_NAME, usw.

TAB2:
PKEY (ID), FKEY(TAB1_ID), colorname, coins usw.

Dann kann man verschiedene Optionstypen definieren (TAB1) und in TAB2 die zugehörigen Optionen reintun.

Zum Auslesen brauchste dann wohl einen join für ein generisches db_readoptions().
Allerdings hast Du dann einen deutlich höhere Freiheitsgrad.


Kommalisten solltest Du nur verwenden, wenn es dafür einen sehr zwingenden Grund gibt.
Meine Erfahrung sagt eher, daß ein durchdachtes Datenmodell besser ist.


Zuletzt editiert von =]CTG[= | Lila Ungeheuer am 05.03.2010 um 13:49 Uhr (1x Editiert)
Inaktiv
|
Atomic
Thread-Ersteller


King for a day




Herkunft: Weikersheim
Beiträge: 261
# Antwort: 2 - 05.03.2010 um 18:06 Uhr
Aehm, thx, aber die perfekte Lösung wurde mir an anderer Stelle im Forum von Freezeman gegeben und zwar ist die Lösung cs_options.


Inaktiv
|
=]CTG[= | Lila Ungeheuer


Beginner




Beiträge: 6
# Antwort: 3 - 05.03.2010 um 18:27 Uhr
Sorry, muss ich einen Feature-Request machen, nämlich daß Threads als geschlossen oder beantwortet markiert sind.


Inaktiv
|
Atomic
Thread-Ersteller


King for a day




Herkunft: Weikersheim
Beiträge: 261
# Antwort: 4 - 05.03.2010 um 18:54 Uhr
Nope, glaube hier gilt Allgemein, wenn nach 2 Tagen keine Antwort, dann hasste Pech Das die Frage nebensächlich woanders geklärt wurde, war wahrscheinlich Glückssache.

Danke jedenfalls, hier gibts zwar eine php-Rubrik, aber manchmal denke ich, okay, da kommt mehr im richtigen php-forum, nur mit den hauseigenen befehlen können die mir dann auch nicht weiterhelfen.


Inaktiv
|
Jam2 ClanSphere Team


Highlander





Beiträge: 3291
# Antwort: 5 - 05.03.2010 um 20:24 Uhr
Nope. Du hast selbst nach 3 Tagen die Möglichkeit zu Pushen. Wenn du schon früher das Problem gelöst hast, kannst du einen Moderator benachrichtigen oder einen Edit-Hinweis einfügen.




In dem Sinn -> close....


------------------
Gruß/ Best regards
Jam2

Nützliche Forumbeiträge/Codepastes: (Useful comments in our board / codepastes)
Template Switch for index.php
Board Navlist last posts

Edi: könnte man denn auch hier eine erweiterung einfügen?
Jam2: das web ist wie toyota.....
Edi: hö ?
Jam2: nichts ist unmöglich!


Zuletzt editiert von Jam2 ClanSphere Team am 05.03.2010 um 20:24 Uhr (1x Editiert)
Inaktiv
|

Dieses Thema wurde von Jam2 ClanSphere Team PM geschlossen.

Antworten: 5
Seite [1]




ClanSphere Project - Mailus - Imprint - Disclaimer - Scriptinfo