Links in verschiedene Kategorien eintragen lassen!
Hallo
Ich möcht meinen Usern ermögliche, Links einzutragen und wenn sie dies tun, können Sie auswählen zu welchen Kategorien der Link dann passt.
Wie mach ich dass nun DB mässig dass 1 Link nur 1x gespeichert ist aber in div. Kategorien aufgefürt wird?
Machen wir ein Beispiel:
Kategorien:
Alfa
Audi
Fiat
...
Vw... Also der User musst über Checkboxen auswählen können für Welche "Marken" der Link denn passt. Wenn nun ein User in eine Kategorie geht zb. Audi. Muss dort der Link angezeigt werden, aber auch in Fiat zb.
Wie löst man so etwas am schlausten?
Gruss :D
Antworten
Standardfall für eine n:m Relation.Wird gelöst über eine weitere Indirektion:
Hinzufügen der Links in eine Tabelle mit ID, URL - Hinzufügen der Kategorien in Tabelel mit KategorieID, Name. Hinzufügen von Links in Kategorien durch Eintragung in Tabelle mit LinkID, KategorieID.
2.
Ok das hab ich jetz nicht ganz verstanden :D
also soweit komme ich mit
eine tabelle für die kategorien selbst und eine für die links soweit klar aber wie speichere ich ab wenn 1 link für x kategorien zutrifft?
3.
Wie gesagt - dafür hast du eine zusätzliche Verknüpfungstabelle.
Beispiel. Du hast die Kategorien "VW" und "Audi" mit den Kategorie-IDs sagen wir 17 und 42. Dazu einen Link mit der ID 125.
Deine Verknüpfungstabelle enthält nun folgende Daten:
Code: In Zwischenablage kopieren (nur IE)
4.
hmm aha..
ok nun weiss ich jedenfalls wie das gemeint war.. danke
5.
Wenn ich diesen Thread nochmal aufgreifen darf...
Sagen wir, wir wollen nun alle Links auf einer Seite anzeigen. - Inklusive aller Kategorien. Also:
>Marke1 (die Kategorie)
---->Auto1 (der Name des Autos)
---->Auto2
---->Auto3
>Marke2
---->Auto1
---->Auto2
---->Auto3
usw.
Wie würdet ihr das machen? Ich habs mit ner for-Schleife probiert:
Code: In Zwischenablage kopieren (nur IE)
Problem: Wenn zwei oder mehr Links die gleiche Kategorie haben (was ja im Allgemeinen so ist bei Kategorien ;) ) , wird die Kategorie so oft mit alle ihren Links angezeigt wie es Links gibt! Also so:
>Marke1
---->Auto1
---->Auto2
>Marke1
---->Auto1
---->Auto2
>Marke2
---->Auto1
>Marke3
---->Auto1
---->Auto2
>Marke3
---->Auto1
---->Auto2
Klar genug ausgedrückt?
Wahrscheinlich denke ich irgendwie falsch, wer kann mir helfen???