php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 01.12.2011, 16:48  
Neuer Benutzer
 
Registriert seit: 12.03.2010
Beiträge: 14
PHP-Kenntnisse:
Anfänger
atkaz befindet sich auf einem aufstrebenden Ast
Standard Kategorien mit Produkten verknüpfen

Hallo Leute,

ich bin gerade dabei einen eigenen Shop zu erstellen und habe nun ein Kleines Problem. Ich habe die gleiche Kategorienstruktur, wie ebay es auch hat. Wie verknüpfe ich nun meine Produkte und die Kategorien nun am besten mit einander.

Achja um die Kategorien zu speichern bediene ich mich der Nested Set methode.

Das heißt, bevor ich ein prosukt reinstellen kann muss ich erstmal die Kategorien auswählen. Z.B:

Hauptkategorie->UK_1->UK_2->UK_3...

ich möchte nun, dass wenn ich auf die UK_1 gehe auch die Produkte aufgelistet werden, die in den Unterkategorien UK_2 und UK_3 vorhanden sind. Ich habe mir Überlegt die DB Tabelle wie folgt zu gestalten:

Produkt_id | Kategorie_ID
1 12, 13, 14,15

und diese dann mit IN() auszulesen, geht das überhaupt und ist es denn effizient?

mfg
atkaz
atkaz ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 01.12.2011, 17:24  
Erfahrener Benutzer
 
Registriert seit: 02.09.2009
Beiträge: 1.019
PHP-Kenntnisse:
Fortgeschritten
mquadrat befindet sich auf einem aufstrebenden Ast
Standard

Daten sollten atomar gespeichert werden. Also ein Wert pro Feld.

Wenn der Artikel mit UK3 verknüpft ist, UK 1 reinzuschreiben macht keinen Sinn. Unter Umständen wird UK3 ja mal verschoben und dann wären alle Einträge hinfällig.
__________________
Wir suchen PHP Entwickler (Vollzeit) im Raum Darmstadt / Rhein-Main. Infos via E-Mail mueller@new-frontiers.de
mquadrat ist offline   Mit Zitat antworten
Alt 01.12.2011, 17:45  
Neuer Benutzer
 
Registriert seit: 12.03.2010
Beiträge: 14
PHP-Kenntnisse:
Anfänger
atkaz befindet sich auf einem aufstrebenden Ast
Standard

hmm...Ich verstehe was du meinst.

Aber welche Möglichkeit gibt es denn sonst?

Über Vorschläge würde ich mich freuen, wenn ich selbst eine Lösung habe, wird diese gepostet.

mfg
atkaz
atkaz ist offline   Mit Zitat antworten
Alt 01.12.2011, 20:53  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Zitat:
ich möchte nun, dass wenn ich auf die UK_1 gehe auch die Produkte aufgelistet werden, die in den Unterkategorien UK_2 und UK_3 vorhanden sind. Ich habe mir Überlegt die DB Tabelle wie folgt zu gestalten:
Das lässt sich über eine Zusammenstellung aller Kinder (und Kindeskinder) einer Kategorie erreichen. Das nested Set liefert dir ja bereits alle Kinder und Kindeskinder einer Kategorie quasi frei Haus.
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Alt 01.12.2011, 21:09  
Neuer Benutzer
 
Registriert seit: 12.03.2010
Beiträge: 14
PHP-Kenntnisse:
Anfänger
atkaz befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von lstegelitz Beitrag anzeigen
Das lässt sich über eine Zusammenstellung aller Kinder (und Kindeskinder) einer Kategorie erreichen. Das nested Set liefert dir ja bereits alle Kinder und Kindeskinder einer Kategorie quasi frei Haus.
hmm...könntest du das vielleicht etwas genauer erläutern, wie du das meinst?
atkaz ist offline   Mit Zitat antworten
Alt 02.12.2011, 11:57  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Wenn du nested sets verwendest, ist dir hoffentlich klar, wie nested sets funktionieren, nämlich ähnlich wie die russischen Babuschka Puppen: man öffnet eine, und eine weitere ist drin, in der wieder eine steckt, in der wieder eine steckt, usw. Nur das im nested set mehr als eine Puppe stecken kann.

Code:
Kategorie A (lft 1, rght 14)
-- Kategorie B (lft 2, rght 6)
---- Kategorie D (lft 3, rght 4)
---- Kategorie E (lft 4, rght 5)
-- Kategorie C (lft 7, rght 13)
---- Kategorie F (lft 9, rght 10)
---- Kategorie G (lft 11, rght 12)
Finde die Hauptkategorie-Puppe, dann hast du alle darinsteckenden Puppen (und alle Puppen, die in den darin liegenden Puppen stecken).

Beispiel: Hauptkategorie C, enthält F und G. Im nested set von C steckt drin "lft 7" und "rght 13", also holst du dir alle Kagetorien, wo lft >= 7 und rght <= 13 ist (damit wird die Hauptkategorie bereits eingeschlossen. Um nur die Kinder zu bekommen, vergleicht man nur auf "größer" bzw. "kleiner").
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
SQL Abfrage mehrer Kategorien einer Verknüpfungstabelle sven. Datenbanken 3 19.01.2011 11:38
[Erledigt] Einträge in Kategorien anzeigen $gast PHP Tipps 2009 7 06.08.2009 11:36
Count von Produkten in Kategorien und Unterkategorien rasta74 Datenbanken 14 26.07.2009 16:04
kategorien auslesen mit optgroup japu PHP Tipps 2009 3 22.06.2009 00:40
Tabellen mit JOIN verknüpfen (Kategorien) Agosy Datenbanken 8 19.06.2009 11:32
[Erledigt] Artikel in Kategorien unterteilen! XGamer PHP Tipps 2009 11 07.06.2009 19:26
Tabellen miteinander verknüpfen Suzi Datenbanken 12 27.05.2009 11:40
Unterschiedene Kategorien nach einen anklick ombolo30 PHP Tipps 2009 1 03.05.2009 22:47
Kategorien ombolo30 PHP Tipps 2009 1 02.05.2009 12:09
Problem bei kategorien rekursiv ausgeben. litterauspirna PHP Tipps 2008 13 08.11.2008 19:25
tabellen verknüpfen philips Datenbanken 26 06.05.2006 11:15
[JOINS] Auch Kategorien ohne Produkte auslesen Datenbanken 2 24.08.2005 10:33
[Erledigt] Menülinks in Kategorien per Left join Datenbanken 20 14.03.2005 12:43
[Erledigt] Kategorien in Baumstruktur PHP Tipps 2005 11 08.02.2005 22:24
variablen verknüpfen PHP Tipps 2004 1 19.06.2004 13:37

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
produkte verknüpfen, kategorien in php, nested set verknüpfen

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:55 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum