Ein Tabellennamen aus Variablen zusammensetzen?

2Pac

Erfahrenes Mitglied
Hallo!

Ich habe ein Script angefertigt welches so aufgebaut ist, das User verschiedene Klassen einnehmen können. (Klassen = Runden in dem Falle)

Ich habe die Tabellen turnierteilnehmer,runde1,runde2,runde3,runde4,runde5 bis runde9. Nun möchte ich das jemand eine Niederlage posten kann! Dazu hole ich mir aus der Tabelle turnierteilnehmer welche runde er ist.

$runde = $data[0]; (z.b. $runde = 5;)

Nun habe ich also erfahren welche Runde er ist. Soweit so gut das funktioniert ja noch. Aber da kommt das problem ich will jetzt die Tabelle aus der ich seine Feldid herauslese selecten mit ("select feldid from $select where nick = '$nickname' "). Habs jetzt nur grob angeschnitten wie ich das machen will.

$select = "runde".$runde;

Aber das geht so nicht! Er gibt dann nichts aus. Sieht auch irgendwie viel zu einfach aus. Wie kann ich das machen das er mir als $select runde5 ausgibt und ich somit damit weiter arbeiten kann?

MfG 2Pac wäre echt nett wenn mir wer helfen könnte :( verzweifle schon...
 
Ich würd mal sagen, dass du dein Problem eher bei der Wurzel packen und deine Datenbankstruktur anpassen solltest...

Mach statt der Tabellen runde* eine Tabelle (nennen wir sie mal `runden`). Die sollte dann genau so aufgebaut sein wie die runde*-Tabellen, nur mit einem zusätzlichen Feld: ´rundennr´ (o.ä.). Da kommt dann die Rundennummer für den jeweiligen Datensatz rein. Deine Abfrage sieht dann so oder so ähnlich aus:

Code:
SELECT feldid FROM runden WHERE rundennr = '$runde' AND nick = '$nickname'

So musst du nicht erst den Tabellennamen aus Usereingaben zusammensetzen (igitt) und bleibst zudem variabel in der Anzahl der Runden.

PS: Geduld ist eine Tugend.
 
Zurück