In einer Zeile mehrere Spalten erstellen

Harry Fan8

Mitglied
Hey,

vorweg möchte ich sagen, dass ich gerade dabei bin ein kleines Browsergame zu erstellen. In dem Browsergame geht es darum, die Tutorial-Stadt oder seine eigene Stadt, so weit wie es geht, auszubauen. Die Tutorial-Stadt funktioniert soweit ganz gut, aber bei der eigenen hab ich noch Schwierigkeiten beim Aufbau der Tabelle.

Hier ist ein Bild der Datenbank von der Tutorial-Stadt:
city1.png

Aber bei der eigenen Stadt gibt es auch mehrere Benutzer, die eine Stadt erstellen möchten, und da ist unmöglich immer wieder eine neue Tabelle mit jeweils über 600 Zeilen anzulegen. Deswegen dachte ich mir eine Tabelle zu erstellen, wo alles in einem ist. Also das in einer Zeile alle Daten drinnen stehen, die man braucht.

Hier ein kleines Beispiel, wie ich mir das Vorstelle:
owncity.png

So hab ich es auch versucht, aber es klappt leider nicht wie geplant. Statt das alles in eine Zeile zu packen, erstellt er wie bei der Tutorial-Stadt, mehrere 100te Zeilen & Spalten. Und er erstellt es nicht in einer Zeile.

Hier ein paar Bilder:
table_owncity.png

table_owncity2.png

Nur meine Frage ist nun, wie kriege ich es hin, dass alles in einer Zeile ist?

Hier ist der jeweilige Code:
PHP:
//Tabelle createn
  $make = "CREATE TABLE owncity (ID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY, Besitzer VARCHAR(32) NOT NULL, Stadtname VARCHAR(32) NOT NULL, Startguthaben INT(6) NOT NULL, Startguthaben_Spieler INT(6) NOT NULL)";
  $data = mysql_query($make); //Tabelle wird erstellt per Variable $make

//Einträge setzen
  $kachel = "a1"; //Das ist die jeweilige Position des Grundstückes a = ganz oben, z = unten
  $name = "Leeres Grundstück"; //Name des jeweiligen Grundstückes
  $bild = "leer.png"; //Der Dateiname des Grundstückes
  $bildid = "3"; //Die ID des Grundstückes
  $besitzer = $_COOKIE['loginname']; //Der Besitzer des Grundstückes
  $text1 = "Ein unbebautes und freies Grundstück."; //Erster Text der beim Baumodus festgelegt werden kann
  $text2 = ""; //Zweiter Text
  $text3 = ""; //Zweiter Text
  $public = "1"; //Überprüfung, ob das Grundstück Öffentlich oder Privat ist. 1 = Öffentlich, 0 = Privat

/* -- Dies hier ist nur ein Code-Ausschnitt -- */
  for ($count = 1; $count < 27; $count++) {
    $kachel = "a$count"; //Kachel wird immer +1 berechnet bis $count unter 27 ist
	$eintrag = "ALTER TABLE owncity ADD $kachel VARCHAR(128) NOT NULL AFTER Startguthaben_Spieler"; //Spalte mit der jeweiligen Kachel (a1, a2, ...) wird hinter der Spalte Startguthaben_Spieler erstellt
	$eintrag2 = "INSERT INTO owncity ($kachel) VALUES ('$kachel|$name|$bild|$bildid|$besitzer|$text1|$text2|$text3|$public')"; //Daten werden eingetragen, z.B. a1 = KACHEL|LEERES GRUNDSTÜCK|LEER.PNG|usw.
    $data = mysql_query($eintrag); //Daten werden in der Variable $eintrag ausgelesen und ausgeführt
	$data2 = mysql_query($eintrag2); //Daten werden in der Variable $eintrag2 ausgelesen und ausgeführt
  }

Ich hoffe ihr könnt mir irgendwie weiter helfen. Bin für jede Hilfe dankbar.

MfG
Harry Fan8
 
Also Pro Stadt eine Tabelle ist sicher ein falscher Ansatz.
Ganz normal normalisieren

Je eine Tabelle mit
Städte (Name, Koordinaten etc)
Benutzer
mögliche Bauten
Stadtfelder (Stadt-ID, Benutzer-ID, Bauten-ID, Grundstück)
 
Zurück