php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Scripts > BRAINSTORMING PHP/SQL/HTML/JS/CSS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


BRAINSTORMING PHP/SQL/HTML/JS/CSS Ihr habt eine Idee, aber keinen genauen Ansatz? Diskutiert mit anderen Usern des Forums über eure Gedankengänge um evtl. hilfreiche Ideen zu bekommen!
Normale Fragen bitte weiterhin in die entsprechenden Foren!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 12-02-2008, 22:13
nohfreak
 Registrierter Benutzer
Links : Onlinestatus : nohfreak ist offline
Registriert seit: Nov 2007
Beiträge: 160
nohfreak ist zur Zeit noch ein unbeschriebenes Blatt
Standard Kategoriesystem, wie ?

Moin Leute,

ich brauch mal ein paar Tips für eine sinnvolle Herangehensweise für ein Projekt.

Was ich machen möchte ist im Prinzip folgendes:

Ich möchte, dass der Benutzer Kategorien, mit beliebig vielen Unterkategorien erstellen kann. Dabei soll jede Unterkategorie sowohl Einträge, alsauch weitere Unterkategorien enthalten können.

Mir stellt sich nun die Frage, wie man das am besten in der MySQL-Datenbank ablegt, welche Kategorie zu welcher gehört.

Ich habe mir überlegt einfach bei jeder Kategorie/jedem Eintrag den "Parent" zu speichern, also die darüberliegende Kategorie, die Oberkategorie sozusagen.

Wenn ich nun aber den Pfad mit anzeigen möchte, also den Weg in welcher Kategorie man sich gerade befindet ( z.B. Games -> WoW -> Raids -> blablabla ), dann müsste ich ja für jeden höherliegenden Schritt immer die ganze Tabelle absuchen nach dem Parent der Kategorie, in der man sich gerade befindet, bis man ganz oben ankommt, wo es keine höher liegende mehr gibt.

Weiterhin soll man auch Einträge in eine andere Liste kopieren können. Wenn nun jemand von einer Oberkategorie alle darin liegenden Einträge/Kategorien in seine eiggene Liste kopieren möchte, dann muss man das ganze Spiel von oben nach unten durchackern, was sich noch komplizierter gestaltet, da es von oben nach unten ja mehrere Wege gibt.

Ich möchte nun natürlich kein fertiges Script haben, sondern nur ein paar Tips von den Profis, wie man grundsätzlich an sowas herangeht, denn mein bisheriger Ansatz einfach nur den Parent immer zu speichern scheint mir doch beim Auslesen recht kompliziert, aber mir ist auch nichts besseres eignefallen.

Danke schonmals im Voraus.

Greetz,
nohfreak
Mit Zitat antworten
  #2 (permalink)  
Alt 12-02-2008, 22:17
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Guck dir mal Nested Sets an.
Mit Zitat antworten
  #3 (permalink)  
Alt 12-02-2008, 22:23
nohfreak
 Registrierter Benutzer
Links : Onlinestatus : nohfreak ist offline
Registriert seit: Nov 2007
Beiträge: 160
nohfreak ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ah, sehr cool, ich danke dir, das sieht auf den ersten Blick ziemlich genau nach dem aus was ich suche. Ich werd mir das mal detaillierter ansehen, sobald ich Zeit habe und euch hier gegebenenfalls mit weiteren Fragen löchern. Sieht aber ziemlich gut erklärt aus, also hoffen wir für alle Beteiligten, dass keine Fragen mehr kommen!

Danke dir!
Mit Zitat antworten
  #4 (permalink)  
Alt 12-02-2008, 22:24
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Danke dir!
Kein Problem
Mit Zitat antworten
  #5 (permalink)  
Alt 15-02-2008, 12:41
bla$ter
 Newbie
Links : Onlinestatus : bla$ter ist offline
Registriert seit: Oct 2003
Beiträge: 84
bla$ter ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich möchte noch darauf hinweisen, dass du das System so aufbauen solltest, das jeder User seinen eigenen Baum hat und nicht alles unter der selben Wurzel passiert, da ein Nested Set bei einfügen und löschen von Werten extrem schlecht skaliert.
Mit Zitat antworten
  #6 (permalink)  
Alt 23-02-2008, 16:27
strauberry
 Registrierter Benutzer
Links : Onlinestatus : strauberry ist offline
Registriert seit: Nov 2002
Beiträge: 616
strauberry ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,

ich würde die Frage gerne etwas erweitern: ich möchte nur die Unterkategorien anzeigen, in denen auch Einträge enthalten sind.

Um beim Beispiel Games -> WoW -> Raids -> blablabla zu bleiben:

blablabla enthält einen Eintrag, daher wird WoW und Raids auch angezeigt. Zudem enthält WoW einen Eintrag. Wenn blablabla jetzt keinen Eintrag enthalten würde, würden Raids und blablabla nicht angezeigt.

Gibts da eine clevere Erweiterung für NestedSets oder muss ich da was ganz anderes nehmen?

VIELEN DANK!
Mit Zitat antworten
  #7 (permalink)  
Alt 23-02-2008, 17:08
nohfreak
 Registrierter Benutzer
Links : Onlinestatus : nohfreak ist offline
Registriert seit: Nov 2007
Beiträge: 160
nohfreak ist zur Zeit noch ein unbeschriebenes Blatt
Standard

So pauschal würde ich sagen, dass das eigentlich ziemlich einfach zu regeln ist. Erst schnappst du dir alle IDs der Knoten, prüfst dann ob Einträge mit diesen IDs vorhanden sind, ermittelst das höchste lvl mit Eintrag und zeigst den Baum dann nur bis dahin an.
Mit Zitat antworten
  #8 (permalink)  
Alt 23-02-2008, 17:11
strauberry
 Registrierter Benutzer
Links : Onlinestatus : strauberry ist offline
Registriert seit: Nov 2002
Beiträge: 616
strauberry ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ok, danke schon mal! Und ne Ein-Query-Lösung gibts nicht ?
Mit Zitat antworten
  #9 (permalink)  
Alt 23-02-2008, 17:21
nohfreak
 Registrierter Benutzer
Links : Onlinestatus : nohfreak ist offline
Registriert seit: Nov 2007
Beiträge: 160
nohfreak ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Tja, keine Ahnung. Ich hab noch nich mit der Klasse angefangen. Gibts bestimmt auch alles schon fertig irgendwo, aber ich steh irgendwie auf selber schreiben.
Mit Zitat antworten
  #10 (permalink)  
Alt 23-02-2008, 17:28
strauberry
 Registrierter Benutzer
Links : Onlinestatus : strauberry ist offline
Registriert seit: Nov 2002
Beiträge: 616
strauberry ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ja ich auch! Für nestedSets gibts ja Tutorials und da kann man sich auch mit einem Query nen Teilbaum o.ä. auslesen. Also ich mein ein mySQL-Query. Wenn ich da ne eigene Klasse für brauch bau ich mir die
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:33 Uhr.