Kom ihåg mig?
Home Menu

Menu


Kategorier samt underkategorier

 
Ämnesverktyg Visningsalternativ
Oläst 2007-03-26, 09:40 #11
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
Det beror ockås lite på hur pass exklusiva underkategorierna är, dvs om de kommer att figurera i mer än en huvudkategori. Eller om du kommer nån gång i framtiden att ha under-underkategorier.


Och vad är problemet? Att hitta grejerna eller att skriva ut trädet utifrån den grenklyka man befinner sig just nu?

Ett tips är att tänka igenom databasens och tabellernas konstruktion noga så att det blir lätt att skala den i olika dimensioner och det går lätt att hitta det du behöver. Att lappa och laga med kod och frågor i efterhand är bara bökigt.
Magnus_A är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-04-06, 19:29 #12
Timofey Timofey är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2006
Inlägg: 2 041
Timofey Timofey är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2006
Inlägg: 2 041
Citat:
Originally posted by eliasson@Mar 25 2007, 19:00
Jag hade en gång en fin liten kodsnutt för att skriva ut en sådan sak men vet inte vart den tog vägen. Postar den här om jag råkar hitta den -- tills vidare får du lära dig lite SQL. Nu har jag förklarat hur du lättast bygger upp det och det kvarstår bara att skriva ut det precis som vi vill ha det.
Vore bra om du eller någon annan kunde ta fram en sådan
Tänker inte riktigt rätt...

Edit: 888 inlägg =)))
Timofey är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-04-07, 18:02 #13
Timofey Timofey är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2006
Inlägg: 2 041
Timofey Timofey är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2006
Inlägg: 2 041
Jag löste detta med array. Dock måste man kopiera koden om man vill ha en djupare struktur än 3-e nivån.


Kod:
// 0 - id, 1 - sub, 2 - title
// Max: 3 - level

for ($k=0; $k<count($catrows); $k++) {
	if ($catrows[$k][1] == '0') {
	$link = $catrows[$k][0];
	echo "<br /><a href='page.php?id=$link'>";
	echo $catrows[$k][2];
	echo "</a>";
	echo "<br />";
	$idd = $catrows[$k][0];
 for ($l=1; $l<count($catrows); $l++) {
 	if ($catrows[$l][1] == $idd) {
 	$link = $catrows[$l][0];
 	echo "- <a href='page.php?id=$link'>";
 	echo $catrows[$l][2];
 	echo "</a>";
 	echo "<br />";
 	$iddd = $catrows[$l][0];
  for ($m=0; $m<count($catrows); $m++) {
  	if ($catrows[$m][1] == $iddd) {
  	$link = $catrows[$m][0];
  	echo "- <a href='page.php?id=$link'>";
  	echo $catrows[$m][2];
  	echo "</a>";
  	echo "<br />";
  	}
  }
 	}
 }
	}
}
Timofey är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-04-08, 11:28 #14
Björn Björn är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2004
Inlägg: 1 224
Björn Björn är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2004
Inlägg: 1 224
Går att lösa med rekursiva funktioner tror jag det heter... att den traverserar ner alla nivåer.
Björn är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-04-08, 13:20 #15
guran guran är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Apr 2004
Inlägg: 1 061
guran guran är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Apr 2004
Inlägg: 1 061
Detta är faktiskt en riktigt klurig sak rent progammeringsmässigt och det finns lite artiklar på webben om hur man bygger trädmenyer.

Jag har t.ex. löst en kategorivandring där man klickar på en kategori och får upp underkategorier och så vidare genom att ha ett fält i tabellen där jag helt enkelt skriver in hela sökvägen till just ett ämnes kategori. Sökvägen i fältet ser ut enligt följande:

fordon/bilar
fordon/lastbilar
fordon/lastbilar/över 3,5 ton
fordon/lastbilar/under 3,5 ton
fordon/båtar
fordon/båtar/segelbåtar
fordon/båtar/segelbåtar/katamaraner
fordon/båtar/segelbåtar/skonare
fordon/båtar/motorbåtar
osv.

Ovan är bara ett exempel. Sedan gäller de ju bara att skriva kod som kan tolka ovanstående och plocka fram de ämnen som är har en viss kategori.
guran är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-04-08, 17:24 #16
fors fors är inte uppkopplad
Medlem
 
Reg.datum: Aug 2006
Inlägg: 131
fors fors är inte uppkopplad
Medlem
 
Reg.datum: Aug 2006
Inlägg: 131
Jag skrev som sagt ihop ett träd snabbt för ett tag sedan. Jag har inte lagt ner så mycket tid på koden, men ni får gärna förbättra den om det går.

Demo: http://www.niklasfors.com/treemenu.php
Källkod: http://www.niklasfors.com/treemenu.phps
fors är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-04-09, 10:06 #17
eliasson eliasson är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Dec 2005
Inlägg: 1 863
eliasson eliasson är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Dec 2005
Inlägg: 1 863
Du får nog ta och kolla över din kod lite:
Warning: Invalid argument supplied for foreach() in /var/www/niklasfors.com/treemenu.php on line 58


Inget allvaligt direkt men är ganska fult : )
eliasson är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-04-09, 12:33 #18
fors fors är inte uppkopplad
Medlem
 
Reg.datum: Aug 2006
Inlägg: 131
fors fors är inte uppkopplad
Medlem
 
Reg.datum: Aug 2006
Inlägg: 131
Citat:
Originally posted by eliasson@Apr 9 2007, 10:06
Du får nog ta och kolla över din kod lite:
bWarning/b: Invalid argument supplied for foreach() in b/var/www/niklasfors.com/treemenu.php/b on line b58/bbr /
Inget allvaligt direkt men är ganska fult : )
Oj, det har jag missat. Men nu skall det vara fixat.
fors är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 00:07.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017