Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Spezielle Abfrage möglich ?

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
Ice Man
PostRank 9
PostRank 9
Beiträge: 2477
Registriert: 04.06.2003, 19:16

Beitrag von Ice Man » 15.06.2006, 11:59

Hi, ich stehe gerade vor einem Problem.

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.

Spalte hat das Format varchar.

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Nullpointer
PostRank 10
PostRank 10
Beiträge: 4790
Registriert: 22.04.2005, 19:14
Wohnort: West Berlin

Beitrag von Nullpointer » 15.06.2006, 13:30

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.

oldInternetUser
PostRank 9
PostRank 9
Beiträge: 1250
Registriert: 19.03.2005, 12:52

Beitrag von oldInternetUser » 15.06.2006, 13:50

Das Design ist falsch. Stichwort erste bis dritte Normalform.

Eine Tabelle für Filme, eine für Schauspieler, eine n:m-Tabelle (nur mit IDs), die Filme und Schauspieler verknüpft.

Nullpointer
PostRank 10
PostRank 10
Beiträge: 4790
Registriert: 22.04.2005, 19:14
Wohnort: West Berlin

Beitrag von Nullpointer » 15.06.2006, 14:00

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.

Ice Man
PostRank 9
PostRank 9
Beiträge: 2477
Registriert: 04.06.2003, 19:16

Beitrag von Ice Man » 15.06.2006, 14:05

Ich war faul, und wollte nicht alles verschachteln :D

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.

Nullpointer
PostRank 10
PostRank 10
Beiträge: 4790
Registriert: 22.04.2005, 19:14
Wohnort: West Berlin

Beitrag von Nullpointer » 15.06.2006, 14:08

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.

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag