Avatar billede Laitings Nybegynder
30. april 2002 - 11:09 Der er 5 kommentarer og
1 løsning

søgefunktion på flere end 2 felter

Her er en af de lidt sværere!

Jeg har brug for en søgefunktion som skal kunne søge i en Access-database på mange forskellige ting.

Man skal kunne søge i både tekstfelter og drop-down menuer, men ikke nødvendigvis i alle felter på én gang.

Der er fx et felt med fornavn og et med efternavn og en dropdown med mand el. kvinde! Men det skal være muligt også at søge på flere ting.

Håber I forstår!

Det jeg søger er ikke nødvendigvis en færdig søgemaskine, men måske bare et eksempel jeg selv kan bygge videre på. Men lige nu er jeg på herrens mark, da jeg kun kan lave en søgemaskine på to felter!

Håber på hjælp!!

-Mescalito
Avatar billede bobbedude Nybegynder
30. april 2002 - 11:24 #1
Resultat siden: search.asp

<%
strKeyword = Trim(Request.Form("Keyword"))
If Len(strKeyword) = 0 Then
Response.Clear
Response.Redirect("sorry.asp")
Else
strKeyword = Replace(strKeyword,"'","''")
End If
strSQL = "SELECT * FROM sleevs WHERE"
strSQL = strSQL & " (ordnum LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (job LIKE '%" & strKeyword & "%')"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("sleevs.mdb")
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN
Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then
%>
<br>
  <table width="600" border="0" cellspacing="0" cellpadding="0" align="center">
    <tr>
      <td>
        <div align="center" class="storskrift">Resultatet af din s&oslash;gning
          vises her</div>
      </td>
    </tr>
    <tr>
      <td height="8"></td>
    </tr>
    <tr>
      <td align="center">
        </td>
    </tr>
    <tr>
      <td>&nbsp;</td>
    </tr>
  </table>
  <div align="center">
    <%
Do While Not rs.EOF
%>         

<%=rs("ordnum")%> - <%=rs("job")%>

<%
rs.MoveNext
Loop
Response.Write "</FONT></table>"
Else
%>
    <font color="#FF0000"><span class="almskrift">Desværrer fandt vi ikke noget
    til dig. Prøv med nogle andre søgeord.</span></font><br>
    <%
End If
myConn.Close
Set myConn = Nothing
%>


Søge siden

<form method="POST" name="sog" action="search.asp">
                      <a href="#" onClick="document.sog.submit();return false" class="storskrift">Søg</a>
                      <INPUT onfocus="this.value='';" size=15 value="Skriv Søgeord" name=Keyword style="border-style: solid; border-width: 1px; border-color: #000000; font: 10px arial;">
                    </form>
Avatar billede bobbedude Nybegynder
30. april 2002 - 11:26 #2
Hov ret

strSQL = "SELECT * FROM DIN-TABEL WHERE"
strSQL = strSQL & " (DIN-RÆKKE LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (DIN-RÆKKE LIKE '%" & strKeyword & "%')"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("DIN-DATABASE.mdb")

med navnene fra din tabel og databasen
Avatar billede Laitings Nybegynder
30. april 2002 - 11:32 #3
Den søger jo kun på et ord. Det jeg har brug for, er en søgefunktion, hvor man kan indtaste flere oplysninger. Lidt alla Dating.dk eller Scor.dk søgefunktionerne.

Eller tak!

-M
Avatar billede bobbedude Nybegynder
30. april 2002 - 11:35 #4
hvis du har "der var en gang en lille ting" til at stå i din db og søger på hele strengen så finder den det da ?????
Du kan da sætte alle de strSQL = strSQL & " OR (DIN-RÆKKE LIKE '%" & strKeyword & "%')" så den kan søge på alle de felter du har i din db også.
Avatar billede Laitings Nybegynder
30. april 2002 - 11:41 #5
Lad os sige at jeg med det felt, der er nu, søger på et navn.
Ville jeg kunne sætte en dropdown-box ind, hvor man kan vælge en alder fra 1-99, og så finder den derefter fx alle der hedder Børge på 34 år?
Avatar billede Laitings Nybegynder
01. maj 2002 - 09:14 #6
hmm
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