/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Hjælp med at løse stort problem
Fra : Brian Emilius


Dato : 23-11-04 14:17

Hej NG

Jeg har en database med nogle 'menu-punkter', som har ID efter hvor i menuen
de skal optræde. Fx har det første punkt id 1, det næste id 2 osv. Der kan
også optræde under-punkter. Det første under-punkt til hoved-punkt hedder fx
id 1_1, det næste 1_2 osv. Mit problem er, at jeg gerne vil kunne flytte
rundt, eller sortere i menuen, som jeg selv ønsker, og til det har jeg
forsøgt at lave noget kode: http://emilius.dk/example.phps

Men det virker ikke.
Problemet opstår så snart det er underpunkter. De bliver ikke flyttet med
hovedpunktet. Hvad kan der være galt?

Forklaringer:
$_GET['op'] / $_GET['ned'] indeholder menu-puntets ID
is_main() fastslår om det er et hoved-punkt.
is_sub() fastslår om det er et under-punkt (eller om der er en parent til
punktet).
is_parrent() fastslår om der er nogle under-punkter til det pågældende
punkt.
get_total_mains() returnerer det totale antal hoved-punkter.
get_num_subs() returnerer antallet af under-punkter.

Venlig hilsen
Brian Emilius



 
 
Peter (25-11-2004)
Kommentar
Fra : Peter


Dato : 25-11-04 21:24

Brian Emilius wrote:
> Jeg har en database med nogle 'menu-punkter', som har ID efter hvor i menuen
> de skal optræde. Fx har det første punkt id 1, det næste id 2 osv. Der kan
> også optræde under-punkter. Det første under-punkt til hoved-punkt hedder fx
> id 1_1, det næste 1_2 osv. Mit problem er, at jeg gerne vil kunne flytte
> rundt, eller sortere i menuen, som jeg selv ønsker, og til det har jeg
> forsøgt at lave noget kode: http://emilius.dk/example.phps

Nu har jeg ikke lige haft tid til læse alt koden igennem... men jeg har
dog et bud til hvordan det kunne gøres...

Hvis du nu splitter id'et.. så har du et hoved id og et under id... så
kan det da ikke være så svært at sortere efter...

hvis du nu laver 2 Arrays... $menuEntrys og $subMenuEntrys

Splitter på _ så får du enter et 'hoved-id' og et 'under-id' eller kun
et hoved-id dem smider du så i array'sne.. hvis der nu f.eks. var tale
om 1_1

$menuEntrys[]=$menuEntry;
$subMenuEntrys[$menuEntry][]=$subMenuEntry;

så får du 1_2 og splitter igen... tjekker om $menuEntry er i arrayet...
det var den.. så nøjes du med at gøre

$subMenyEntrys[$menuEntry][]=$subMenuEntry;

Når du så er færdig sortere du $menuEntrys og looper dig igennem det,
for hvert menupunkt tjekker du om der er et array med under punkter i
$subMenuEntrys, hvis der er det sortere du og looper det igennem inden
du går videre...

Har jeg misforstået dit problem eller løser det det?

Jeg havde dog nok have valgt at have 2 felter i min database i stedet for...

Brian Emilius (25-11-2004)
Kommentar
Fra : Brian Emilius


Dato : 25-11-04 21:38

"Peter" <nospam@nospam.invalid> skrev i en meddelelse
news:41a63f70$0$169$edfadb0f@dtext02.news.tele.dk...

> Har jeg misforstået dit problem ...?

Hmm... måske - problemet er ikke hvordan jeg splitter id'erne, det har jeg
klaret. Problemet er hvordan jeg får flyttet underpunkterne med... Så vidt
jeg kan se i min egen kode, burde de blive flyttet, men det gør de ikke.

> Jeg havde dog nok have valgt at have 2 felter i min database i stedet
> for...

Det kan desværre ikke lade sig gøre, da outputtet skal bruges til mange
forskellige ting og der er derfor nødt til at være en vis konsekvens i
opbygningen af databasen. Har tænkt længe og meget over tabellens opbygning.

Venlig hilsen
Brian Emilius



Peter (26-11-2004)
Kommentar
Fra : Peter


Dato : 26-11-04 08:02

Brian Emilius wrote:

>>Har jeg misforstået dit problem ...?
>
> Hmm... måske - problemet er ikke hvordan jeg splitter id'erne, det har jeg
> klaret. Problemet er hvordan jeg får flyttet underpunkterne med... Så vidt
> jeg kan se i min egen kode, burde de blive flyttet, men det gør de ikke.

Hmm... lidt havde jeg misforstået det så... jeg vil lige tænke lidt...
og så sige til hvis jeg kommer på en god ide

Jimmy (26-11-2004)
Kommentar
Fra : Jimmy


Dato : 26-11-04 10:25


"Brian Emilius" <msn@emilius.dk> wrote in message
news:co5frb$12mq$1@news.cybercity.dk...

> Har tænkt længe og meget over tabellens opbygning.

HEHE - Så burde du nok ikke være nået frem til at lave en ikke-normaliseret
tabel

Det du skal gøre er følgende:

[tabel]
ID
Parent_ID


Alle ID'er autogenereres og er naturligvis unikke og primærnøgle.
Parent_ID peger på det menupunkt det hører til. Hvis der står 0 i Parent_ID
er det et hovedmenupunkt.

Du laver så en rekursiv funktion, som henter alle med Parent_ID = 0 og de
underlinks, som peger på det givne ID og så fremdeles.

Mvh
Jimmy



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste