WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Spara trädstrukturer i db (https://www.wn.se/forum/showthread.php?t=3056)

Robert 2004-08-09 22:13

Liknande frågor har varit uppe men de passar inte riktigt in på mitt scenario.

Jag måste lagra på mig en kedja av frågeställningar i en databas. Frågorna är fleraalternativsfrågor och olika svar leder vidare till andra svarsalternativ, dvs det kan bli en ganska brokig trädstruktur.

Hur lagrar man smidigast detta i en databas? :unsure:

Jester 2004-08-09 22:35

id: [INT] (auto increasement)
parent_id : [INT] (tillhörande svar med parent_id)

var det någon sådant du tänkt dig?

Robert 2004-08-09 22:58

Citat:

Originally posted by Jester@Aug 9 2004, 22:35
id: [INT] (auto increasement)
parent_id : [INT] (tillhörande svar med parent_id)

var det någon sådant du tänkt dig?

Tack för svaret, tja ungefär sådär, fast jag hade behovet av att gruppera ihop olika "frågeträd" men jag satte mig ner och ritade upp det hela, då såg jag hur databasmodellen skulle vara. :)

Tack och bock!

Jester 2004-08-09 23:07

Citat:

Ursprungligen postat av Robert
Citat:

Ursprungligen postat av Jester
id: [INT] (auto increasement)
parent_id : [INT] (tillhörande svar med parent_id)

var det någon sådant du tänkt dig?

Tack för svaret, tja ungefär sådär, fast jag hade behovet av att gruppera ihop olika "frågeträd" men jag satte mig ner och ritade upp det hela, då såg jag hur databasmodellen skulle vara. :)

Tack och bock!

Jag uttryckte det lite dåligt ser jag nu. Med den där varianten ska givetvis id vara en frågegrupp och parent_id peka på en specifik fråga.

Ursäkta, får skylla på att det är varmt här :P

Robert 2004-08-10 11:58

Jag tog och la till en nivå på varje fråga för att lättare se vilken som var startfråga och vad det sista alternativet är... det fungerar i teorin i min skalle iaf... =)

Rasmus 2004-08-10 12:04

Jag hade nog valt att göra det med ID nummer och sen ha olika categorier t.ex.
cat=2
subcat=4
subsubcat=1
subsubsubcat=3

Och sen fortsätta så länge det behövs.

festiz 2004-08-10 15:23

Jag har valt att i min trädstrukturerade produktmeny ha kategorier och innehåll i kategorier särskiljda.
prodcat:
id int(255) primary
subcat int(255)
namn text

Om subcat är tom så räknas den som en kategori på toppnivå.
Annars så är den en underkategori till idnumret i subcat. fungerar hur långt man vill utan en massa onödiga fält i databasen.

Funktionen nedan hämtar sökvägen till kategorin $id in i en array med idn.
Kod:

function get_tree($id,$cat) {
        $row=mysql_fetch_assoc(mysql_query("SELECT * FROM prodcat WHERE id='$id'"));
 $cat[] = $id;
 $subcat=$row['subcat'];
 if($subcat)
        $cat = get_tree($subcat,$cat);
  return $cat;
}



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

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