php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 24.09.2004, 23:09  
Gast
 
Beiträge: n/a
Standard Welcher Datentyp zum speichern von Arrays?

Auf die Gefahr hin, dass ich mal wieder belehrt werde Google zu benutzen usw. (was ich bereits getan habe, und im Forum finde ich zumindest mit den logischen Suchworten nichts):

Welchen Datentyp sollte ich wählen, wenn ich einen Array in einer Datenbank speichern will? Oder geht das nicht, und ich sollte die einzelnen Werte des Arrays als ENUM speichern?
Danke im voraus.
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 25.09.2004, 00:05  
Gast
 
Beiträge: n/a
Standard

Ich denke nicht, das man ein Array einfach so in einer Datenbank speichern kann. Da gibt es ja gar keinen Typ für.
Da wirst du schon jedes Element einzeln speichern müssen oder mit "Implode" einen großen String bauen.
  Mit Zitat antworten
Alt 25.09.2004, 00:15  
Gast
 
Beiträge: n/a
Standard

Okay, danke. Das Problem ist weniger das zerlegen. Es geht einfach darum, dass ein gewisses... nennen wir es mal "Objekt"(auch wenn es kein Objekt im programmiertechnischen Sinne ist) verschiedene zusätzliche Eigenschaften haben kann. Diese Eigenschaften stehen in einer anderen Tabelle und es wird nur mit "Shortcuts" drauf verwiesen... um es ganz deutlich zu machen:
ich bastel an nem Online-Game rum, dort sollen Raumschiffe verschiedene Antriebe, Waffen usw. bekommen. Und dann halt auch nicht jeweils nicht nur eine sondern so viele, wie Platz im Schiff ist. Dazu muss ich halt, je nachdem, wie der User sich sein Schiff zusammenbaut, die Möglichkeit haben quasi 0 bis "unendlich" zusätzliche Eigenschaften zu den Grundeigenschaften zu verwalten...
  Mit Zitat antworten
Alt 27.09.2004, 09:58  
Gast
 
Beiträge: n/a
Standard

naja, eigentlich ist ein array ja eine datenbank-tabelle. oder andersrum

wenn du für einen bestimmten spieler variabel viele eigenschaften anlegen willst, dann legt man normalerweise eine relationale datenbank an. die abfragen werden dann zwar etwas komplizierter, aber es gibt keine redundanzen, so dass das system insgesamt einfacher zu pflegen ist.

du gehst folgendermaßen vor:
du hast eine tabelle user mit userID, username und sonstige infos, die sich DIREKT auf den user beziehen. email-adresse, evtl. punktestände, oder sowas...
dann hast du eine tabelle, in der alle verfügbaren waffen, antriebe, usw. gespeichert sind. jeweils mit ID (objectID) oder eindeutigem namen.
danach erstellst du eine weitere tabelle mit aufbau userID, objectID.
darin speicherst du zu jedem user die zugehörigen objekte.

zB
user1, object1
user1, object3
user1, object4
user2, object1
user2, object2
...

kapiert? durch entsprechende SQL-abfragen fügst du das ganze wieder je nach bedarf zusammen.
  Mit Zitat antworten
Alt 27.09.2004, 16:38  
Gast
 
Beiträge: n/a
Standard

Wie ich das mache ist kein Problem, soweit bin ich ja schon. Es wäre halt nur sehr bequem gewesen, wenn man komplette Arrays direkt speichern kann, so bräuchte ich bei nem Schiff nämlich nur die Spalten Spieler-ID, Schiffs-ID, Schiffsname und Eigenschaften. Brauche ich so auch nur, aber nun muss ich halt die Eigenschaften auslesen, und dann zerlegen um zu schauen, welche Objekte eingebaut sind. Sprich ich habe dann unter Eigenschaften z.B. "1,13,112" oder so stehen, zerlege das Ganze in die einzelnen Zahlen und frage dann unter der jeweiligen Objekt-ID ab, was das Ding so macht.
Von daher war das weniger eine Frage des WIE sondern eher eine OB-Frage. Bin aber inzwischen schon viel weiter. Zwar noch nicht, was die Schiffsverwaltung angeht, dazu muss ich erst die Funktion der Werft richtig implementieren, aber der Rest wird schon. Ist zwar noch recht noob-mäßig, denke ich, da ich z.B. noch keine Templates benutze, geschweige denn, das man irgendwo auch nur eine Klasse findet, aber es soll auch erstmal nur funktionieren, danach schau ich weiter. Ist zwar nicht die feine Art, etwas erst zu proggen, und dann rumzudoktorn, bis es passt, aber ich mache das ja auch nicht kommerziell oder so, sondern Just4Fun.
  Mit Zitat antworten
Alt 27.09.2004, 17:54  
Erfahrener Benutzer
 
Registriert seit: 29.08.2003
Beiträge: 216
wurtzel
Standard

Zitat:
Sprich ich habe dann unter Eigenschaften z.B. "1,13,112" oder so stehen, zerlege das Ganze in die einzelnen Zahlen und frage dann unter der jeweiligen Objekt-ID ab, was das Ding so macht.
mit einer tabelle bauteile

Schiffs_ID,Objekt_ID

und einer abfrage wie
Code:
Select objekt.name, count(objekt.id) as anzahl from bauteile,objekt where bauteile.Schiffs_ID=$schiff_id and bauteile.Objekt_ID=objekt.id group by  objekt.name,objekt.id
kannst du mit einer anfrage anzahl und eigenschaften der einzelnen Bauteile und art bestimmen
__________________
Das Problem ist der Anfang einer Lösung
wurtzel ist offline   Mit Zitat antworten
Antwort


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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Arrays sortieren, Bezeichnung, Preis Ticos PHP Tipps 2006 4 07.09.2006 19:37
PDF per PHP - Problem bei "Ziel speichern unter..." freq.9 PHP Tipps 2006 7 18.08.2006 16:54
Zwei arrays indexrichtig in DB speichern tinchen PHP Tipps 2006 7 07.06.2006 21:32
[Erledigt] Speichern unter... geht nicht!!! PHP-Fortgeschrittene 8 09.02.2006 16:55
[Erledigt] 2 Arrays miteinander vergleichen PHP Tipps 2007 3 17.12.2005 16:54
Daten aus 2 Arrays zuordnen und in ein neues Array speichern PHP Tipps 2005-2 6 12.10.2005 13:22
$_Get, $_Post und $_Session in Datenbank speichern PHP Tipps 2005-2 5 28.07.2005 18:25
[Erledigt] Arrays in Session speichern PHP-Fortgeschrittene 3 07.07.2005 10:19
Bilder speichern statt anzeigen... PHP Tipps 2005 3 25.04.2005 15:22
Arrays in sessions speichern PHP-Fortgeschrittene 10 23.04.2005 08:51
XML speichern McWolle PHP-Fortgeschrittene 5 04.04.2005 19:38
Mail inkl. all. Elementen speichern Beitragsarchiv 5 29.12.2004 13:21
Formular in Mysql Datenbank speichern Anuschka Datenbanken 1 15.08.2004 02:55
2 arrays in abhängigkeit ??? PHP Tipps 2004 2 11.08.2004 21:19
Werte eines Arrays in eine MySQL schreiben PHP Tipps 2004 2 28.06.2004 13:32

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql datentyp array, schiffe array php, mysql array datentyp, php datentypen speicherbedarf, url in datenbank speichern datentyp, array in mysql datentyp, datenbank datentyp array, datentyp array, zwei datentypen in einem array speichern, relationale datenbank datentyp array, mysql datentypen speichern von arrays, html in db speichern datentyp, welche datentypen kann array speichern, welche datentypen kann man in array speichern?, welche datentypen kann man in einem array speichern, pdf speichern in mysqldatentyp, php mehrere datentypen in einem array, php datentypen in array, php datentyp objekt, datenbank eigenschaftsfelder speichern

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:29 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.