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

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
hjælp til dokument visning via rullemenuer
Fra : gitte nielsen


Dato : 13-12-06 15:29

Hej

Jeg har en masse unikke dokumenter liggende på et websted og
ville gerne lave database til hvor jeg kunne søge på tre
forskellige fastevalg(rulle ned knap) eksempel felt 1 sodavand
felt 2 gul felt tre pind dette resultat giver så en side/dokument

Er der nogle der kan give mig et godt råd hvordan jeg kan løse
mit problem er ikke særlig god til databaser og kan ikke finde en
skabelon der passer til mig

Gitte
fjern nospan fra min mail


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Michael Weber (18-12-2006)
Kommentar
Fra : Michael Weber


Dato : 18-12-06 14:56


"gitte nielsen" <gbfNOSPAN@tele2adsl.dk> skrev i en meddelelse
news:45800e1d$0$49203$14726298@news.sunsite.dk...
> Hej
>
> Jeg har en masse unikke dokumenter liggende på et websted og
> ville gerne lave database til hvor jeg kunne søge på tre
> forskellige fastevalg(rulle ned knap) eksempel felt 1 sodavand
> felt 2 gul felt tre pind dette resultat giver så en side/dokument
>
> Er der nogle der kan give mig et godt råd hvordan jeg kan løse
> mit problem er ikke særlig god til databaser og kan ikke finde en
> skabelon der passer til mig
>
> Gitte
> fjern nospan fra min mail
>
>

Du kan starte med at dele problemet op i mindre, mere overskuelige
opgaver. Du nævner 2 centrale ting, søgeord og dokumenter.
Søgeord i rulle-ned knapperne og selve dokumenterne.
Ud fra det kan du lave 2 centrale tabeller.

Du kunne lave en tabel med ord der kan søges på.
noget a la :

Tabel ordliste
___ordID___|___ord____
1 | sodavand
2 | gul
3 | pind
4 | øl
5 | blå
6 | line
7 | alkohol
8 | rød
9 | stang
o.s.v.


Dernæst kan du lave en tabel med alle dokumenter:

Tabel dokumenter
___dokumentID___|____url___
1 | side1.htm
2 | side2.htm
3 | side3.htm
o.s.v.

Næste opgave er så at hente ord fra ordliste-tabellen ind i de rigtige
rulle-nedknapper.
F.eks. skal den første rulle-ned knap indeholde ordet "sodavand", men ikke
"gul" o.s.v.
For at knytte ordet "sodavand" til den første rulle-knap, kan du lave en
flette-tabel.
F.eks.

knapOrd
___knapID___|____ordID___
1 | 1
2 | 2
3 | 3
1 | 4
2 | 5
3 | 6
1 | 7
2 | 8
3 | 9

( 1 = rulleknap med drikkevare, 2 = rulleknap med farve, 3 = rulleknap med
det sidste)
ordID referer til ordID i ordliste-tabellen.

For at knytte ord til en dokument, kan du igen lave en flette-tabel efter
samme princip.
Du kan dog lave tabellen på 2 måder. Første måde er en tabel med 4 kolonner.

Tabel dokumentOrd med 4 kolonner :
___dokumentID___|___ordID1___|___ordID2___|____ordID3____
1 1 2
3
o.s.v.

Eller tabel dokumentOrd med 2 kollonner :

____dokumentID___|____ordID____
1 | 1
1 | 2
1 | 3

o.s.v.

(dokumentID referer til dokumentID i dokument-tabellen og ordID referer til
ordID i ordliste-tabellen)

I begge tabeller referer tallene til henholdsvis dokument-tabellen og
ordliste-tabellen.
Fordelen ved den første er, at du umiddelbart kan finde dokumenter der
matcher alle 3 ord.
Ulempen er hvis du nu indsætter et fjerde søge-kriterie ( fjerne
rulle-knap).
Så skal den første tabel tilføres en 4- kolonne ordID4.

Fordelen ved den anden tabel med 2 kolonner, er netop at den ikke skal
ændres hvis du
tilføre et 4. søgekriterie.
Ulempen er imidlertidig at når du laver en søgning på de 3 kriterier, skal
du løbe søgereultatet
igennem for at finde et dokumentID, der findes 3 gange.
Eller sagt på en anden måde....du vil finde alle dokumenter der passer på ét
eller flere af ordene.


Dernæst er det sådan set bare at hente data.

For at hente alle ord, der skal stå i en rulle-knap (den med sodavand), kan
du lave en asp-funktion.

function hentKnapData( index )
....kode
end function

hvor "index" i parantesen er det index-nummer (knapID) , knappen har i
tabellen knapOrd.

Så kalder du bare hentKnap-funktionen , for hver rulle-ned knap på siden.
F.eks.

hentKnapData( 1 ) ' henter ordene til rullened-knap 1
hentKnapData( 2 ) ' henter ordene til rullened-knap 2
hentKnapData( 3 ) ' henter ordene til rullened-knap 3

Og hvis du nu skal tilføre endnu en rullened-knap (søge-kriterie) :

hentKnapData( 4 ) ' henter ordene til rullened-knap 1

Det gør det hele lidt mere fleksibelt, når hentKnapData-funktionen kun
henter
data for 1 knap af gangen.

Slutteligt er der selve søgningen.
Her er funktionen lidt afhængig af, hvordan tabellen dokumentOrd ser ud ( 2
eller 4 kolonner).
Hvis tabellen er med 4 kolonner, ligger den lige til højre-benet.
Hvis tabellen er med 2 kolonner, skal det resultat-sæt du får fra databasen,
gennemgås for finde de
dokumenter, der findes 3 gange.
Omvendt giver det mulighed for at finde de dokumenter der f.eks. matcher på
2 af ordene og på 1 af ordene

F.eks. :
Matcher på alle 3 ord :
minside.htm
..
Matcher på 2 ord :
minAndenside.htm

Matcher på 1 ord :
minTrejdeSide.htm


Sådan vil jeg umiddelbart gribe det an.

Med venlig hilsen
Michael Weber








Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste