Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Problem med sökning

Postades av 2002-03-08 10:31:17 - Johan Pettersson, i forum asp - allmänt, Tråden har 6 Kommentarer och lästs av 426 personer

Hej!
Jag har ett lexikon där man kan söka på olika ord och välja på vilka språk man vill se resultatet på.Jag har gjort så att jag söker på alla språk i SQL satsen, sen bestämmer jag längre ner på sidan vilka språk som ska visas utifrån vad användaren valt. Men det blir inte bra , nu undrar jag om det är någon som kan hjälpa mig med ett smidigare sätt. Tex att man bara söker på de språken användaren valt. Jag hämtar orden från en access databas.


Svara

Sv: Problem med sökning

Postades av 2002-03-08 10:46:19 - Andreas Hillqvist

Hur ser tabellstrukturen ut? Kan du inte skicka upp koden som den ser ut idag?


Svara

Sv: Problem med sökning

Postades av 2002-03-08 10:58:00 - Johan Pettersson

<%
'** här kommer sökordet**
sokterm = request.form("sok")

'** här kommer vilka språk som är valda**
swe=Request.Form("swe")
eng=Request.Form("eng")
cro=Request.Form("cro")
dut=Request.Form("dut")
nor=Request.Form("nor")
dan=Request.Form("dan")
fin=Request.Form("fin")
ger=Request.Form("ger")


Set Con = Server.CreateObject("ADODB.Connection")
Set Rs =Server.CreateObject("ADODB.Recordset")
Con.Open "TERMLEXDB"

'** Här söker den i alla kolumner efter sökordet, skulle vilja att den bara sökte i de valda språkens kolumner **

SQL="SELECT * FROM databas WHERE termswe like '" & sokterm & "%' or termeng like '" & sokterm & "%' or termcro like '" & sokterm & "%' or termdut like '" & sokterm & "%' or termnor like '" & sokterm & "%' or termdan like '" & sokterm & "%' or termfin like '" & sokterm & "%' or termger like '" & sokterm & "%' Order by id Desc "


Rs.Open SQL,Con

%>


Svara

Sv: Problem med sökning

Postades av 2002-03-08 11:35:31 - Andreas Hillqvist

Jag skulle ju föreslå en annan databasstruktur. Efter som din aktuella är statisk. Du kan inte lägga till ett nytt språk utan att förändra tabellerna.


<code>
<%
Dim Language
Dim Languages
Dim strWhere
Dim Field
Dim Fields()
Dim Count
Dim Index

Count = 0
Languages = Array("swe", "eng", "cro", "dut", "nor", "dan", "fin", "ger")

'** här kommer sökordet**
sokterm = request.form("sok")

'** här kommer vilka språk som är valda**
For Each Language In Languages
If Len(Request.Form(Language))>0 Then
strWhere = strWhere & " OR term" & Language & " like '" & sokterm & "%'
Count = Count + 1
End If
Next Languages


'** Här söker den i alla kolumner efter sökordet, skulle vilja att den bara sökte i de valda språkens kolumner **
If Count > 0 Then
Set Con = Server.CreateObject("ADODB.Connection")
Con.Open "TERMLEXDB"

Set Rs = Server.CreateObject("ADODB.Recordset")
SQL="SELECT * FROM databas WHERE " & Mid(strWhere, 5) & " ORDER BY id Desc "
Rs.Open SQL, Con

Redim Fields(Count-1)
For Each Language In Languages
If Len(Request.Form(Language))>0 Then
Set Fields(Index) = Rs("term" & Language)
Index = Index + 1
End If
Next Languages

Do Until Rs.Eof
For Each Field In Fields
Response.Write Field & ", "
Next
Response.Write "<BR>"
Rs.MoveNext
Loop
Else
Response.Write "Du har inte angivit några språk!"
End If
%>
</code>


Svara

Sv: Problem med sökning

Postades av 2002-03-08 11:46:22 - Johan Pettersson

Ok hur tycker du att strukturen ska se ut?
Just nu ligger allting i tabellen databas.
Sen när man ska välja språk så är dom 'checkboxar' så hur blir det med Request.Form("language"), sätter man alla språkens 'name' till language


Svara

Sv: Problem med sökning

Postades av 2002-03-08 12:40:55 - Johan Pettersson

Jag får felmeddelande "Syntax error in WHERE clause" på den här raden.

SQL="SELECT * FROM databas WHERE " & Mid(strWhere, 5) & " ORDER BY id Desc "

Vad betyder Mid(strWhere,5)?


Svara

Sv: Problem med sökning

Postades av 2002-03-08 15:52:52 - Andreas Hillqvist

Om du i tabellen har ett fält för språk istället. Så kan man ha en synonymtabbel i vilket man anger vilka ord sokm har samma betydelse.

language är en variabel. Vilket kollar textboxarna. En efter en.

Efter som det kommer " OR " framför första vilkoret. Plockar jag bort den genom att plocka ut strängen från och med femte tecknet. Remma sasen som öppnar och loopar ifgenom recordsetet.

Skriv ut Where-Satsen och SQL-satsen med:
Response.Write strWhere
Response.Write SQL

Så kan du se vad som är fel.


Svara

Nyligen

  • 18:37 Remove the bumper in AUDI
  • 15:35 Chicken road crash game
  • 21:41 Automotive Services UK
  • 20:44 Erfarenhet av CBD-olja mot sömnpro
  • 12:13 Sex Dolls for Sale
  • 19:42 Online Casinos for Haitian Players
  • 19:38 Rekommendera något intressant
  • 19:13 Международная перевозка грузов

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 889
27 965
271 778
467
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies