/ 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
Vælge specifikke ord med MySQL
Fra : Janus Sander Schiøtt~


Dato : 02-06-04 19:17

Hej NG

Jeg har lavet en hjemmeside hvor man kan søge i en database. Det
er lavet på den måde at ASP'en vælger alt fra databasen og så
selv sortere i den.

Det fungerede fint i starten, men nu er der 2262 poster i
databasen, og for hver af dem skal der køres 87 programlinier så
det går lidt langsomt (meget faktisk).

Så var det jeg tænkte om man kunne sortere indholdet i databasen
ud fra indholdet af et søgefelt, altså:

Hvis man i søgefeltet skriver "Dylan" Så skal den tage alt hvad
der indeholder ordet "dylan", og ikke alt det andet. Men den skal
også tage det hvis der står "Dylan, Bob - Nashville Skyline" i
databasen.

Håber at nogen kan hjælpe

Mvh Janus

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

 
 
Mikoangelo (02-06-2004)
Kommentar
Fra : Mikoangelo


Dato : 02-06-04 19:23

[On on, 02 jun 2004 18:16:34 GMT, "Janus Sander Schiøtte" wrote (link:
<news:40be1982$0$3049$14726298@news.sunsite.dk>)]:
[deletia]
> Så var det jeg tænkte om man kunne sortere indholdet i databasen
> ud fra indholdet af et søgefelt, altså:
>
> Hvis man i søgefeltet skriver "Dylan" Så skal den tage alt hvad
> der indeholder ordet "dylan", og ikke alt det andet. Men den skal
> også tage det hvis der står "Dylan, Bob - Nashville Skyline" i
> databasen.
[deletia]

Jeg vil tro, at hvis du skriver i SQL-strengen:
dem strSQL
strSQL = "SELECT * FROM Tabelnavn WHERE navn = *" & VARIABEL & "*"
' strSQL = strSQL & "Sort navn"
' Afkommentar overnstående linie for sortering oven i hatten.

Så virker det (måske).
Men pas på, for hvis VARIABEL er tom, så kommer alle posterne...


--
Mikoangelo - webmaster of
http://harrypotter.lk-data.net
Scrambled email (ROT-13):
uneelcbggre [on] yx [hyphen] qngn [spot] qx

Mikoangelo (02-06-2004)
Kommentar
Fra : Mikoangelo


Dato : 02-06-04 19:29

[On on, 02 jun 2004 18:23:12 GMT, "Mikoangelo" wrote (link:
<news:Xns94FCCF639706Buneelcbggreyxqngnqx@194.255.237.239>)]:
[deletia]
> ' strSQL = strSQL & "Sort navn"
Det skulle være
' strSQL = strSQL & "ORDER BY navn"
[deletia]


--
Mikoangelo - webmaster of
http://harrypotter.lk-data.net
Scrambled email (ROT-13):
uneelcbggre [on] yx [hyphen] qngn [spot] qx

Janus Sander Schiøtt~ (02-06-2004)
Kommentar
Fra : Janus Sander Schiøtt~


Dato : 02-06-04 19:38

> strSQL = "SELECT * FROM Tabelnavn WHERE navn = *" & VARIABEL & "*"
> Så virker det (måske).

Det gjorde det ikke, MySQL vil ikke godtage * i den del af strengen
Andre forslag? plz

Mvh Janus

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

Jens Gyldenkærne Cla~ (02-06-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 02-06-04 23:18

Mikoangelo skrev:

> strSQL = "SELECT * FROM Tabelnavn WHERE navn = *" & VARIABEL &
> "*" ' strSQL = strSQL & "Sort navn"

Der er flere fejl i ovenstående.

- Standard jokertegn i sql er % (vilkårligt antal tegn) og _ (ét
tegn). I forhold til windows-jokertegn svarer % til * og _ til ?

- Hvis jokertegnene skal have effekt, skal man benytte LIKE i
stedet for = ved søgninger.

- Tekstværdier skal være omkranset af anførselstegn

- Sortering klares med ORDER BY (som du selv har rettet i et senere
indlæg).


Prøv med

strSQL = "SELECT * FROM Tabelnavn WHERE navn LIKE '%" & _
   VARIABEL & "%'"
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Mikoangelo (03-06-2004)
Kommentar
Fra : Mikoangelo


Dato : 03-06-04 14:49

[On on, 02 jun 2004 22:18:18 GMT, "Jens Gyldenkærne Clausen" wrote
(link: <news:Xns94FD31AC4CADjcdmfdk@gyrosmod.cybercity.dk>)]:
> Mikoangelo skrev:
>
>> strSQL = "SELECT * FROM Tabelnavn WHERE navn = *" & VARIABEL & "*" '
>> strSQL = strSQL & "Sort navn"
>
> Der er flere fejl i ovenstående.
[deletia rettelser]
[deletia]

Jeg ved det godt, men jeg vidste ikke alt det der, for jeg har selv
skullet eksperimentere med SQL, eftersom jeg ikke kan finde en
ordentlig ressource til viden og opslag omkring SQL, og jeg bruger
brinkster som min server, og den kan bare IKKE køre ordentligt med
DB'er...

Beklager fejlene


--
Mikoangelo - webmaster of
http://harrypotter.lk-data.net
Scrambled email (ROT-13):
uneelcbggre [on] yx [hyphen] qngn [spot] qx

Janus Sander Schiøtt~ (03-06-2004)
Kommentar
Fra : Janus Sander Schiøtt~


Dato : 03-06-04 19:59

> Prøv med
>
> strSQL = "SELECT * FROM Tabelnavn WHERE navn LIKE '%" & _
>    VARIABEL & "%'"
Det virker mange tak for det.

Men hvad gør jeg hvis jeg søger efter et ord i én af to kolonner?

Jeg har prøvet med:
strSQL = "SELECT * FROM Tabelnavn WHERE navn, efternavn LIKE '%" &
VARIABEL & "%'"
strSQL = "SELECT * FROM Tabelnavn WHERE navn & efternavn LIKE '%" &
VARIABEL & "%'"
Og mange andre.

Intet ser ud til at virke. Jeg skal have kombineret de to collonner i
min SQL - sætning. Kan det lade sig gøre?

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

Jens Gyldenkærne Cla~ (03-06-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 03-06-04 20:48

Janus Sander Schiøtte skrev:

> Men hvad gør jeg hvis jeg søger efter et ord i én af to
> kolonner?

Du kombinerer kriterier med AND eller OR. Det du leder efter kan fx
være:

SELECT * FROM Tabelnavn
WHERE navn LIKE '%foo%'
OR efternavn LIKE '%foo%'

(erstat selv "foo" med en variabel).
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

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

Månedens bedste
Årets bedste
Sidste års bedste