Avatar billede l_otto Nybegynder
16. juni 2003 - 13:58 Der er 6 kommentarer og
1 løsning

Søge funktion med "and" "or" "not"

Hvordan får jeg sat 3 afkrydsningsfelter ind så man kan søge på :"and" "or" "not"

Her er min Search.hmt fil:<TABLE>
<TR>
    <TD><form action="search.asp" method="post"><input type="text" name="Keyword" class="Formindhold" size="20">
  <input type="submit" value="[Søg]" class="knap"> </form>
</TD>
</TR>
<TR>
    <TD><form action="search.asp" method="post"><select name="Keyword" class="Formindhold" >
    <option value=""></option>
                <option value="Bossen">Bossen</option>
                <option value="Sikkerhed">Sikkerhed</option>
               
              </select>
  <input type="submit" value="[Søg]" class="knap"></form></TD>
</TR>
<TR>
    <TD><form action="search.asp" method="post"><select name="Keyword" class="Formindhold" >
    <option value=""></option>
                <option value="Bossen">Bossen</option>
                <option value="Sikkerhed">Sikkerhed</option>
               
              </select>
  <input type="submit" value="[Søg]" class="knap"></form></TD>
</TR>
</TABLE>

Det skal være sådan at man kan sige jeg vil se alle dem der er Bossen og sikkerhed...

så det er de to dropdown menuer det drejer sig om....

Håber I dorstår

P
Avatar billede hossein Nybegynder
16. juni 2003 - 14:44 #1
din dropdown skal være multiple, brugeren holder ctrl ned for at vælge en eller flere værdier:
<select name="Keyword" class="Formindhold" multiple >
    <option value=""></option>
                <option value="Bossen">Bossen</option>
                <option value="Sikkerhed">Sikkerhed</option>
               
    </select>

også din sql sætning skal ha en "for each" løkke som tager en eller flere værdier fra elemntet på din form.
Avatar billede l_otto Nybegynder
16. juni 2003 - 14:46 #2
Men så kan man jo ikke vælge hvilken måde man vil søge på ?

man skal kunne vælge "bossen" også krydse af at det er alle med der ikke er "bossen" altså "not" osv..
Avatar billede hossein Nybegynder
16. juni 2003 - 14:54 #3
ikke forstået. Enten brugeren vil vælge bossen eller Sikkerhed, og eller begge dele? er det ikke det du vil?
Det ene dropdown, som er multiple, er nok så du skal ha 2 dropdown som er ens.
Avatar billede hossein Nybegynder
16. juni 2003 - 14:56 #4
rettes:
... skal ha 2 dropdown...
til
... skal ikke ha 2 dropdown...
Avatar billede l_otto Nybegynder
16. juni 2003 - 14:57 #5
Hvordan laver man så "not " funktionen ?
Avatar billede l_otto Nybegynder
16. juni 2003 - 15:02 #6
Hvordan skal search.asp se ud ?  den ser sådan ud nu..
<%
' Henter værdien fra search.htm
strKeyword = Trim(Request.Form("Keyword"))

If Len(strKeyword) = 0 Then
' Hvis der ikke er skrevet i feltet
Response.Clear
Response.Redirect("search.htm")

Else

' Hvis der er skrevet i feltet
strKeyword = Replace(strKeyword,"'","''")

End If

' Opbygger en dynamisk SQL streng
strSQL = "SELECT id, Fornavn, Efternavn, Adresse, Postnr, Bynavn, Mobiltelefon, Telefon, mailm, Stilling FROM Kontaktpersoner WHERE"
strSQL = strSQL & " (id LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (Fornavn LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (Efternavn LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (Adresse LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (Postnr LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (Bynavn LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (Mobiltelefon LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (Telefon LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (mailm LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (Stilling LIKE '%" & strKeyword & "%')"


' Databaseforbindelse [DNSless] - Stien til databasen lokaliseres
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("database.mdb")
Conn.Open DSN

' Skaber et recordset udfra SQL strengen
Set rs = Conn.Execute(strSQL)

' Hvis der er fundet poster på søgningen
If Not (rs.BOF Or rs.EOF) Then

Do While Not rs.EOF

' Variabler deklæres
id = rs("id")
Navn = rs("Fornavn")
Efternavn = rs("Efternavn")
Adresse = rs("Adresse")

' Generere et link, som er defineret i databasen
Link = "<a href='semedarb.asp?id=" & rs("Id") & "'>"  & Navn & "&nbsp;" & Efternavn &"</a></b>"


' Udskriver linket som det blev genereret ovenfor + tilhørende kommentar
Response.Write "<li>" & Link & "</li>" & "  "

rs.MoveNext
Loop
Else

' Hvis der ikke er fundet poster på søgningen
Response.Write "<li>Sådan en har vi ikke ?"

End If

' Databaseforbindelsen lukkes
Conn.Close
Set Conn = Nothing
%>
Avatar billede l_otto Nybegynder
17. juni 2003 - 11:29 #7
lukker den ned igen gider svare...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester