Wie kann man bei SQL-Statement den Feldname variabel machen???
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
beitrag
datensatz
einfachen anfhrungszeichen
genauere beschreibung
gruss
hilfe
kleinigkeit
liga
mannschaft
schnelle antwort
set
spalt
spalten
struktur
tabelle
tabellenstruktur
update
variable
zeile
zugehrigkeit
-
Ich hab das Internet durchforstet, aber keine Antwort gefunden.
Ich habe ein Liga-Kreuztabelle erstellt, wo jedes Team als Feldname und in einem Feld 'Mannschaften' auftaucht.
Über ein Formular habe ich eine Variable bekommen mit einem Teamnamen.
Jetzt will ich in dieser Spalte ein Update vornehmen.
UPDATE MeineTabelle SET '$Team' [<--Diese Stelle soll variabel sein] = '$EinErgebnis' WHERE ...[WHERE funktioniert]
Ich bitte um Hilfe.
Vieleicht kann mir auch jemand eine andere Tabellenstruktur empfehlen.
Beitrag geändert: 29.8.2007 20:37:58 von pesl
Beitrag geändert: 29.8.2007 20:39:16 von pesl
Beitrag geändert: 29.8.2007 20:43:10 von pesl -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ich verstehe nicht ganz, warum du den Datenbanknamen unbedingt dynamisch verändern möchtest...
Du hast also für jedes Team eine Tabelle? Was ist in den Tabellen drin?
Erklär mal die Struktur deines Systems, sodass wir dir evtl raten können, wie man es effizienter lösen könnte...
Derzeit kann ich sagen: Lege eine tabelle "teams" an und gib jedem team einen Datensatz mit einer ID. Wenn du in anderen Tabellen die Zugehörigkeit eines Datensatzes zu einem Team festlegen möchtest, erstelle im Datensatz ein Feld "team" und speichere darin die ID des zugehörigen Teams.
Ansonsten sollte es eigentlich auch funktionieren (auch wenns unüblich ist), wenn du den Datenbanknamen per Variable festlegst... Nimm mal die einfachen Anführungszeichen vor und hinter dem Tabellennamen weg...
gruß
ferdinand24 -
Erstmal danke für deine schnelle Antwort.
Den Datenbanknamen will ich nicht verändern. Genauso wenig den Tabellennamen.
Sondern nur den Spaltennamen.
Hier die genauere Beschreibung meiner Tabelle 'Spielplan'(es ist eine).
Ich habe 11 Spalten mit 10 Mannschaftsnamen und eine mit 'Mannschaft'. In der Spalte mit 'Mannschaft' habe ich die 10 Teamnamen nochmal drin, sodass ich 10 Zeilen bekommen habe.
Jetzt sieht es aus wie eine Kreuztabelle.
Ich will, dass man in die freien Zellen dann die Ergebnisse schreiben kann. Da die Spieler die Ergebnisse selbst eingeben sollen, weiß ich nicht welche Spalte ich bearbeiten soll. Deshalb will ich das variabel machen.
Ich hoffe, du konntest dich besser mit der Struktur vertraut machen und hoffe auf weiteren Rat.
Beitrag geändert: 29.8.2007 21:27:30 von pesl
Beitrag geändert: 29.8.2007 21:28:25 von pesl
EDIT (by thoba): Doppelpost gelöscht. 2. Posting:
Ich habe noch eine Kleinigkeit. Kann es Probleme machen, wenn ein Spaltenname durch ein Leerzeichen getrennt ist?
Er scheint nur den hinteren Teil übernehmen zu wollen. Ich hab das Leerzeichen im Spaltennamen weggemacht und jetzt geht es.
Kann man ihm trotzdem sagen, dass man den ganzen string verwertet haben will?
So gehts -> "UPDATE tabelle SET $team = '$resultat' WHERE Mannschaft ='$anderesteam'" wenn $team = "InterMailand"
so gehts nicht ->"UPDATE tabelle SET $team = '$resultat' WHERE Mannschaft ='$anderesteam'" wenn $team = "Inter Mailand"
Beitrag geändert: 29.8.2007 21:55:00 von pesl
Beitrag geändert: 30.8.2007 13:52:16 von thoba -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage