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 16-03-2005, 19:01
JfK
 Newbie
Links : Onlinestatus : JfK ist offline
Registriert seit: Feb 2005
Beiträge: 13
JfK ist zur Zeit noch ein unbeschriebenes Blatt
JfK eine Nachricht über ICQ schicken
Standard Endlose (Sub/)Kategorien

Hi,

ich habe folgendes Problem:

Ich will unendlich viele und tiefe Kategorien anlegen und unterordnen.

Meine Tabelle in MySQL siehst so aus:

id bigint(14) NOT NULL auto_increment,
titel varchar(50),
pid int(14),

pid ist immer die ID der Kategorie die ich als Elternkategorie hab und somit über der Subkategorie liegt.

Jetzt will ich also folgendes machen:
1.Kategorie
1.1 Kategorie
1.1.1.Kategorie
1.1.2 Kategorie
1.1.2.1.Kategorie
1.1.2.2 Kategorie
usw.

Ich lese also die Mainkategorie (1) aus, per klick darauf, öffnet sich die 1.1. Kategorie.
So weit so gut.
Wenn ich dann auf die 1.1. klicke hab ich ein Problem.
Mein Fenster sieht dann so aus:
1.1 Kategorie
1.1.1.Kategorie
1.1.2 Kategorie

Sprich die 1. Kategorie verschwindet.
Vom Code her weiß ich natürlich warum das so ist nur lautet meine Frage, ob ihr vielleicht wisst, wie man sowas regeln kann.

Meine Ansätze, die mir bereits gegeben wurden:
-Alle Kategorien zuvor in ein mehrdimmensionales Array einlesen
-Root und ParentIDs zu benutzen

Nur mit den Arrays kann ich mir das noch nicht so ganz vorstellen.

Ich grübel schon länger darüber nur komme nicht auf den entscheidenen Weg.

Danke für jede Antwort
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 16-03-2005, 19:53
daniel987
 Junior Member
Links : Onlinestatus : daniel987 ist offline
Registriert seit: May 2004
Beiträge: 139
daniel987 ist zur Zeit noch ein unbeschriebenes Blatt
daniel987 eine Nachricht über ICQ schicken
Standard

Naja wenn du mit sowas mit unendlich vielen Unterkategorien machen willst, dann musste dich erst mal mit Rekursiven Funktionen befassen (falls du das nicht schon hast).

Jo das mit den Arrays löse ich so:
DB Struktur:

categories
->ID
->Title
->parent
...

Das Ganze wird abgefragt und in folgender Schleife in ein Array gespeichert:
PHP-Code:
while( $r mysql_fetch_assoc() )
{
    if( 
$r['parent'] == -)
    {
        
$r['parent'] = 'root'// muss nicht unbedingt sein aber ich finds praktischer
    
}

    
$array$r['parent'] ][ $r['ID'] ] = $r

Und schon hat man sein Array mit dem man arbeiten kann. Probier das mit der Rekursiven Funktion erst nochmal selber falls dus nicht hinbekommen solltest meld dich halt nochmal, dann geben wir dir ncohmal einen Denkanstoß.
Mit Zitat antworten
  #3 (permalink)  
Alt 16-03-2005, 20:34
JfK
 Newbie
Links : Onlinestatus : JfK ist offline
Registriert seit: Feb 2005
Beiträge: 13
JfK ist zur Zeit noch ein unbeschriebenes Blatt
JfK eine Nachricht über ICQ schicken
Standard

Danke,
ich werd mich morgen mit rekursiven Funktionen beschäftigen.
Mit Zitat antworten
  #4 (permalink)  
Alt 17-03-2005, 08:27
TBT
  Moderator
Links : Onlinestatus : TBT ist offline
Registriert seit: Sep 2002
Ort: Berlin
Beiträge: 2.787
TBT befindet sich auf einem aufstrebenden Ast
TBT eine Nachricht über ICQ schicken TBT eine Nachricht über AIM schicken TBT eine Nachricht über Yahoo! schicken
Standard

suche nach "nested sets" oder hier im Forum nach "menu_menu"
__________________
TBT

Die zwei wichtigsten Regeln für eine berufliche Karriere:
1. Verrate niemals alles was du weißt!


PHP 2 AllPatrizier II Browsergame
Mit Zitat antworten
  #5 (permalink)  
Alt 18-03-2005, 16:03
JfK
 Newbie
Links : Onlinestatus : JfK ist offline
Registriert seit: Feb 2005
Beiträge: 13
JfK ist zur Zeit noch ein unbeschriebenes Blatt
JfK eine Nachricht über ICQ schicken
Standard

Also ich werde es wohl mit einer rekursive Funktion machen.

Geändert von JfK (18-03-2005 um 16:56 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 18-03-2005, 19:28
goth
  Moderator
Links : Onlinestatus : goth ist offline
Registriert seit: Mar 2002
Ort: Erde
Beiträge: 7.277
goth ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Das ist vernünftig ... !
__________________
carpe noctem

Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht!
Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung!
Mit Zitat antworten
  #7 (permalink)  
Alt 18-03-2005, 20:25
JfK
 Newbie
Links : Onlinestatus : JfK ist offline
Registriert seit: Feb 2005
Beiträge: 13
JfK ist zur Zeit noch ein unbeschriebenes Blatt
JfK eine Nachricht über ICQ schicken
Standard

Also klappt wunderbar.

Nur jetzt hab ich durch die rekursive Funktion einen Wert X ausgelesen, der von selbst ermittelt wird.

Bis an diese Auslese wurde die Funktion ja mehrmals aufgerufen und ne Schleife durchlaufen.
Wie wäre jetzt wohl der beste Weg diesen Weg gewollt zu gehen. Sprich wir kennen Wert X

Bsp.:

Kategorien

Nach dem Motto: index.php?a=showcat&id=5

Die Kategorie anzeigen, ist kein Ding. Nur dann die Überkategorien auslesen. Damit tu ich mich im Gedankengang schwer.
Hab noch nichts ausprobiert, deswegen ist nicht schlimm, wenn hier keiner ne Antwort gibt. Ich knoble gerne über solchen Sachen.
Mit Zitat antworten
  #8 (permalink)  
Alt 18-03-2005, 22:22
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.623
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

wenn du es mit deinen geliebten rekursionen machen willst, brauchst du doch nur die id der parent_id auslesen. von dieser id via parent_id wieder ne ebene höher usw.

aber wie gesagt ... rekursiv.
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |


Mit Zitat antworten
  #9 (permalink)  
Alt 18-03-2005, 22:26
daniel987
 Junior Member
Links : Onlinestatus : daniel987 ist offline
Registriert seit: May 2004
Beiträge: 139
daniel987 ist zur Zeit noch ein unbeschriebenes Blatt
daniel987 eine Nachricht über ICQ schicken
Standard

Zitat:
wenn du es mit deinen geliebten rekursionen machen willst, brauchst du doch nur die id der parent_id auslesen. von dieser id via parent_id wieder ne ebene höher usw.

aber wie gesagt ... rekursiv.
OffTopic:
Nimm ihm doch nicht die ganze Freude am selber rausfinden. Ich hab auch extra noch meinen Mund gehalten.
Mit Zitat antworten
  #10 (permalink)  
Alt 18-03-2005, 22:30
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.623
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

naja. mit ein wenig denken findet man sowas eigentlich schnell raus.

aber ich wollte ja, dass er die nacht noch etwas mit tippen beschäftigt ist und nicht allzusehr grübeln muss .....
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |


Mit Zitat antworten
  #11 (permalink)  
Alt 19-03-2005, 00:16
JfK
 Newbie
Links : Onlinestatus : JfK ist offline
Registriert seit: Feb 2005
Beiträge: 13
JfK ist zur Zeit noch ein unbeschriebenes Blatt
JfK eine Nachricht über ICQ schicken
Standard

Also mein Posting vor n paar Stunden war ganz kurz und übereilt.

Bei meinem freitagabendlichen trinken, ist mir das natürlich in den Kopf gekommen.


Man übergibt der rekursiven Funktion ja ne id eines Datensatzes (Parent).
Wenn man jetzt aber von einer Unterkategorie aus die Parentkategories angezeiogt bekommen will, muss man das ganze umgekehrt machen sprich ne zweite rekursive Funktion schreiben.

Alles kein Ding,

Danke an euch.

Jetzt hab ich aber noch eine Fragen:
Es geht um Kategorien, wie ihr vielleicht gemerkt habt.

Parentkategorie
-Subkategorie
-Subkategorie
-Subkategorie

Ich will die Subkategorie immer mit nem & n b s p ; hervor heben. Damit man sieht, dass es ne Subkategorie ist.
Dazu muss ich aber die Schleifen/Funktion-Durchläufe zählen.
Da hatte ich noch so meine Probleme.
Wäre nett, wenn mir einer sagen kann, wie ich das lösen kann.

Eine rekursive Funktion mit einer internen Schleife.
Wie kann ich die Leerzeichen erechnen, die ich immer vor die Subkategorien setzen k ann?
Mit Zitat antworten
  #12 (permalink)  
Alt 19-03-2005, 00:56
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.623
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

einen weiteren parameter mitgeben .... aktuell+1
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |


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

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

SMT

Server Monitoring & Management Tool Das SMT wurde von einem Administrator für Administratoren entwickelt, es vereinfacht den Alltag in der klassischen Administration und Verwaltung. Mit dem SMT kannst Du alle Deine Server & Dienste verwalten und überwach

04.09.2020 palle_1977 | Kategorie: PHP
numaeks Web-Farbmixer

Die RGB-Farben lassen sich hier auf unterschiedliche Weise mischen. Zur Einstellung werden auch die Dreh- und Schieberegler mit Canvas verwendet. Gespeichert werden die Farben in einem Cookie.

04.09.2020 numaek | Kategorie: JAVASCRIPT/ Tools
phplinX-Erotikportal 4 ansehen phplinX-Erotikportal 4

Erweiterbares Portal speziell für Erotik mit den Modulen Webkatalog, Bannermanagement und Kleinanzeigenmarkt. Sämtliche Module können über einen einzigen Adminbereich verwaltet werden.

18.06.2020 Cosinus14 | Kategorie: PHP/ Anzeigenmarkt
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:41 Uhr.