Kategorihantering

PHPportalen Forum Index » Tips och Trix
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget Gå till sida Föregående  1, 2, 3, 4, 5  Nästa
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
fehavision



Medlem i: 4655 dagar

Status: Offline



#389891
Inlägg Skrivet: 2006-06-25 13:11      Ämne: Citera

nuvarande menu:
(som du set på demo sidan)
den gör fo många SQL anrop

Senast ändrad av fehavision den 2006-06-25 13:37, ändrad totalt 1 gång
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Malte
in memoriam 1



Medlem i: 6214 dagar
Från: Tingsryd
Status: Offline



#389895
Inlägg Skrivet: 2006-06-25 13:20      Ämne: Citera

Då skulle jag föreslå arbetsgången:

Utgå från id för den yttersta noden du visar.
Tag genom en loop ut alla "föräldrars" id upp till parent blir noll. Samla detta i en array.
Loopa sedan igenom din lista, och tag bort alla som inte har parent '0' eller som inte finns i arrayen.
Först därefter skriver du ut din meny.
 

_________________
Funktion är vackert
Till toppen på sidan
Visa användarprofil Besök användarens hemsida
fehavision



Medlem i: 4655 dagar

Status: Offline



#389896
Inlägg Skrivet: 2006-06-25 13:28      Ämne: Citera

Malte , tackar så mycket.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
JuggernautH



Medlem i: 4930 dagar

Status: Offline



#393928
Inlägg Skrivet: 2006-07-11 01:10      Ämne: Citera

Någon som har lust o slänga upp ett demo?
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Spiroo



Medlem i: 4889 dagar

Status: Offline



#397402
Inlägg Skrivet: 2006-07-23 18:46      Ämne: Citera

malte: vad gör denna funktionen get_id_in_node()
Såg att den endast fanns i edit_item();

Sen undrar jag vad Node står för, eller vad det är Smile

Sedan min personliga åsikt är att jag tycker det är för mycket krafs i scriptet för att vara ett test-script elelr va det är. Inget fel på din kod elelr så, tycker bara en del grejer är onödiga.

Sen hade det ju inte varit helt fel om allting hade varit en klass och så gör man en sample-fil där man printar ut alla exempel.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Malte
in memoriam 1



Medlem i: 6214 dagar
Från: Tingsryd
Status: Offline



#397598
Inlägg Skrivet: 2006-07-24 02:45      Ämne: Citera

Ersätt 'node' med 'gren' så förstår du kanske vad det handlar om.
 

_________________
Funktion är vackert
Till toppen på sidan
Visa användarprofil Besök användarens hemsida
S_O_D



Medlem i: 5203 dagar

Status: Offline



#397949
Inlägg Skrivet: 2006-07-25 13:23      Ämne: Citera

Säg att man har lagt in olika kategorier i databasen som nedanför

Spel
-----Pc
-----Xbox
-----------Action
-----------Äventyr
-----Gamecube
Filmer
-----Anime
-----Action
-----Import
-----------Japan
-----------Kina

Med hjälp av javascript och css, har jag gjort att man kan öppna de olika kategorierna utan sidan laddas om.

Men hur ska jag göra om jag vill ha det så här efter att någon har tryckt på "Spel -> Xbox -> Action"

Spel
-----Pc
-----Xbox
-----------Action
-----------Äventyr
-----Gamecube
Filmer
 

_________________
PHP is your friend,
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Malte
in memoriam 1



Medlem i: 6214 dagar
Från: Tingsryd
Status: Offline



#398208
Inlägg Skrivet: 2006-07-26 10:18      Ämne: Citera

Då skulle jag rekommendera att du letar upp något bra Javascript trädmeny-skript, och använder dig av det.
 

_________________
Funktion är vackert
Till toppen på sidan
Visa användarprofil Besök användarens hemsida
S_O_D



Medlem i: 5203 dagar

Status: Offline



#398277
Inlägg Skrivet: 2006-07-26 14:42      Ämne: Citera

Det jag menar är att när någon har tryckt på knappen action så laddas ju sidan om och då vill jag att kategorimenyn ska se ut så här.

Spel
-----Pc
-----Xbox
-----------Action
-----------Äventyr
-----Gamecube
Filmer
 

_________________
PHP is your friend,
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Emiel



Medlem i: 5057 dagar
Från: Trollhättan
Status: Offline



#398312
Inlägg Skrivet: 2006-07-26 17:14      Ämne: Citera

jadu det blir nog lättare att förklara om du ger ut lite kod..
 

_________________
blog eller blogg? emilnordh.se
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida MSN Messenger
Spiroo



Medlem i: 4889 dagar

Status: Offline



#398331
Inlägg Skrivet: 2006-07-26 18:28      Ämne: Citera

Sen har jag en liten fundering Malte. Jag fattar inte riktigt vitsen med en funktion i den här funktionen.

PHP:
1:
    public function getTree($parent$with_parent 0)
2:
   {
3:
      $items = array();
4:
      
5:
      if ($with_parent == && $parent != 0) {
6:
         $items[$parent]['id']     $this->itemlist[$parent]['id'];
7:
         $items[$parent]['name']   $this->itemlist[$parent]['name'];
8:
         $items[$parent]['name']   $this->itemlist[$parent]['url'];
9:
         $items[$parent]['parent'] = $this->itemlist[$parent]['parent'];
10:
         $items[$parent]['child']  = $this->getTree($parent);
11:
        
12:
         return $items;
13:
      }
14:
   
15:
      foreach ($this->itemlist as $key => $val) {
16:
         if ($val['parent'] == $parent) {
17:
            $items[$key]['id']     $val['id'];
18:
            $items[$key]['name']   $val['name'];
19:
            $items[$key]['url']    = $val['url'];
20:
            $items[$key]['parent'] = $val['parent'];
21:
            $items[$key]['child']  = $this->getTree($key);
22:
         }
23:
      }
24:
   
25:
      return $items;
26:
   


Jag undrar vad den här gör $with_parent = 0
Har klurat ut resten av ditt script och kodat om det hela. Det är bara det där jag inte förstår.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Malte
in memoriam 1



Medlem i: 6214 dagar
Från: Tingsryd
Status: Offline



#398391
Inlägg Skrivet: 2006-07-26 22:15      Ämne: Citera

$with_parent är om du ska ta med den ketegorin som du har som ingångs-id.
Säg att du har ett träd där du ska ta fram alla kategorier som ligger under en kategori med id 5, då startar trädet från 5:an om du har $with_parent satt, annars har du de id som ligger under som första nivå.
 

_________________
Funktion är vackert
Till toppen på sidan
Visa användarprofil Besök användarens hemsida
Spiroo



Medlem i: 4889 dagar

Status: Offline



#398446
Inlägg Skrivet: 2006-07-27 00:59      Ämne: Citera

Ah nu fattar jag. Min logik som inte hängde med riktigt Smile
Tack för att du förklarade. Scriptet fungerar riktigt bra. har gjort om det hela till en enda klass och lagt till saker. Fungerar med unlimited kategorier. Gäller att inte tappa bort sig bara.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
MittroSpaung



Medlem i: 4860 dagar
Från: Mönsterås
Status: Offline



#400559
Inlägg Skrivet: 2006-08-03 12:54      Ämne: Citera

Hej, jättebra skript måste jag säga Malte. Har dock en liten ändring jag vill göra men vet inte riktigt hur. I select-menyn skrivs ju kategorierna ut såhär:

Kat1
Kat1/sub1
Kat1/sub1/sub2
Kat2

Jag vill ha en sån här layout:

Kat1
-----sub1
----------sub2
Kat2

Skulle vara väldigt tacksam om någon kunde skriva ihop nåt sånt lite snabbt. Antar att det är i funktionen make_options() man ska ändra?
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Spiroo



Medlem i: 4889 dagar

Status: Offline



#400563
Inlägg Skrivet: 2006-08-03 13:07      Ämne: Citera

Ah okej vet hur du menar Wink Lite krångligt har jag för mig.
Du måste göra om lite i koden i både make_options och option_list.

KOD:
1:
<select name="Technologies">
2:
 
3:
<optgroup label=".NET">
4:
 
5:
  <option label="ASP.NET">ASP.NET</option>
6:
 
7:
  <option label="C#">C#</option>
8:
 
9:
  <option label="VB.NET">VB.NET</option>
10:
 
11:
</optgroup>
12:
 
13:
<optgroup label="XML">
14:
 
15:
  <option label="XPath">XPath</option>
16:
 
17:
  <option label="XSL">XSL</option>
18:
 
19:
  <option label="XQuery">XQuery</option>
20:
 
21:
</optgroup>
22:
 
23:
<optgroup label="XHTML">
24:
 
25:
  <option label="Tag a">Tag a</option>
26:
 
27:
  <option label="Tag br">Tag br</option>
28:
 
29:
  <option label="Tag optgroup">Tag optgroup</option>
30:
 
31:
</optgroup>
32:
 
33:
</select>


Dock orkar jag inte skriva en färdig kod Razz Borde vara hyffsat enkelt. Dessutom tycker jag Maltes metod är något bättre än att ha dem under varandra.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget Gå till sida Föregående  1, 2, 3, 4, 5  Nästa
PHPportalen Forum Index » Tips och Trix
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic