Ich hab in der Datenbank paar Filme stehen.
In einer Spalte stehen 1-5 Schauspieler
(Beispiel: Man A, Frau A, Frau B)
Nun wollte ich auf einer Seite alle vorhandenen Darsteller anzeigen lassen.
Also so
Man A1
Man A2
Man A3
Wie bekomme ich nun diese Daten aus der Spalte herraus ?
Wenn nur ein Name darin steht, wäre es kein Problem, aber da 3 und mehr darin stehen, ist es etwas komplizert.
das ist schon mal schlechtes db-design, wenn mehrerere datensätze in einem feld stehen, oder habe ich das mit den 1-5 falsch verstanden?
angenommen du hast einen string mit 1-5 namen. dann sind die ja sicher kommasepariert, oder? dann würde ich die namen im programm/script auseinandernehmen (bei php mit explode).
aber vielleicht habe ich es auch falsch verstanden.
dann hätte ich es richtig verstanden. wenn die db nun aber von der dritten partei kommt, bleibt einem nix anderes übrig, als mit strings zu popeln. außer di dritte partei läßt sich zu einem vernünftigen db-design überreden.
Ich war faul, und wollte nicht alles verschachteln
Also ich der Tabelle steht alles zu dem Film drinn.
Name, Inhalt, usw.
Und in einer Spalte steht dann, z.B. Harrison Ford, Mark Wallberg usw.
Das mit dem Auseinanderwürfeln wäre auch eine Idee.
Ich flücke die Daten per Script aus der Zeile und lege davon eine Schauspieler Tabelle an.
Dann könnte ich ja per Link Schauspieler Name die Filme finden.
Soweit sogut, nun muss ich das mit dem Zerflücken und Namen in DB eintragen hinbekommen.
wenn du's selbst getan hast, solltest du dir allerdings das thema normalisierung anschauen. alles andere geht eher früher als später nach hinten los.
in deinem fall hast du nämlich nicht nur mehrere daten in einem feld, die dann mit gefrickel auseinander genommen werden, du hast auch redundanzen, wenn z.b. ein schauspieler in meherereren filmen mitspielt. mit der schauspieler tabelle hat man nur noch mehrerere referenzen auf diesen schauspieler.
sicher kann man auch frickeln aber das ist kurzsichtig.