Avatar billede justdoit Nybegynder
21. november 2002 - 18:07 Der er 4 kommentarer og
1 løsning

Hvorfor søger den ikke på forskellige!!

Jeg har to forms, som henter StrKeyword som er et ord og strKeyword2 som er et tal, men lige meget hvad tal og ord jeg sætter sammen, så udskriver den alt hvad der er i min db - hvorfor??



Dim StrKeyword, strKeyword2
strKeyword = Trim(Request.Form("soegning"))
strKeyword2 = Trim(Request.Form("landsdel"))

If Len(strKeyword) = 0 Then
    her søger den ikke
Else
    ' Hvis der er skrevet i feltet
    strKeyword = Replace(strKeyword,"'","''")
    StrKeyword = LCase(StrKeyword)
    strKeywordLand = Replace(strKeyword2,"'","''")
   
If strKeywordLand = "hele_dk" then

StrSql = "SELECT * FROM annoncer WHERE"
StrSql = StrSql & "(annoncetekst LIKE '%" & LCase(strKeyword) & "%')"

elseif  strKeywordLand = "1" then

StrSql = "SELECT * FROM annoncer WHERE"
StrSql = StrSql & "(annoncetekst LIKE '%" & LCase(strKeyword) & "%')"
SreSql = StrSql & " AND (landsdel = '2' OR landsdel = '3' OR landsdel = '4' or landsdel = '5')"

elseif strKeywordLand = "7" then

StrSql = "SELECT * FROM annoncer WHERE"
StrSql = StrSql & "(annoncetekst LIKE '%" & LCase(strKeyword) & "%')"
SreSql = StrSql & " AND (landsdel = '8' OR landsdel = '9' OR landsdel = '10')"

else

StrSql = "SELECT * FROM annoncer WHERE"
StrSql = StrSql & "(annoncetekst LIKE '%" & LCase(strKeyword) & "%')"
SreSql = StrSql & " AND (landsdel = '" & strKeywordLand & "')"
end if
Avatar billede eagleeye Praktikant
21. november 2002 - 19:15 #1
Du har i 3 linier skrev steSql og ikke StrSql

Eks vis her:
SreSql = StrSql & " AND (landsdel = '2' OR landsdel = '3' OR landsdel = '4' or landsdel = '5')"
Avatar billede eagleeye Praktikant
21. november 2002 - 19:16 #2
Så den mangler den ene halv del af det du søger efter, her er hele if sætningen:


If strKeywordLand = "hele_dk" then

StrSql = "SELECT * FROM annoncer WHERE"
StrSql = StrSql & "(annoncetekst LIKE '%" & LCase(strKeyword) & "%')"

elseif  strKeywordLand = "1" then

StrSql = "SELECT * FROM annoncer WHERE"
StrSql = StrSql & "(annoncetekst LIKE '%" & LCase(strKeyword) & "%')"
StrSql = StrSql & " AND (landsdel = '2' OR landsdel = '3' OR landsdel = '4' or landsdel = '5')"

elseif strKeywordLand = "7" then

StrSql = "SELECT * FROM annoncer WHERE"
StrSql = StrSql & "(annoncetekst LIKE '%" & LCase(strKeyword) & "%')"
StrSql = StrSql & " AND (landsdel = '8' OR landsdel = '9' OR landsdel = '10')"

else

StrSql = "SELECT * FROM annoncer WHERE"
StrSql = StrSql & "(annoncetekst LIKE '%" & LCase(strKeyword) & "%')"
StrSql = StrSql & " AND (landsdel = '" & strKeywordLand & "')"
end if
Avatar billede justdoit Nybegynder
21. november 2002 - 19:50 #3
Du har da helt ret, det havde jeg slet ikke set - tak, men jeg skal lige høre. Når jeg ikke finder noget i databasen, altså ved While EOF, så går der noget helt galt med tabellerne, kan du se hvad det er??

Her er koderne fra hvor jeg udskriver:

Set objRec = Conn.Execute(StrSql)
If Not (objRec.BOF Or objRec.EOF) Then
%>
                                    <table width="520" border="0" cellspacing="0" cellpadding="0" class="hovedtekst">
                                      <%
                                      Do While Not objRec.EOF
                                      %>
                                      <tr bgcolor="#DDDDDD">
                                        <td height="3" colspan="2"></td>
                                      </tr>
                                      <tr bgcolor="#DDDDDD">
                                        <td colspan="2" valign="top"><%=objRec("annoncetekst")%><%=objRec("landsdel")%></td>
                                      </tr>
                                      <tr bgcolor="#DDDDDD">
                                        <td height="3" colspan="2"></td>
                                      </tr>
                                      <tr>
                                        <td height="1" colspan="2" bgcolor="#CCCCCC"></td>
                                      </tr>
                                      <%
objRec.movenext()
Loop
Else %>
  <tr>
    <td height="20"></td>
  </tr>
  <tr>
    <td>
      <div align="center">Der blev ikke fundet noget på denne søgning</div>
    </td>
  </tr>
  <tr>
    <td height="20"></td>
  </tr>
<%
End If
Conn.Close
Set Conn = Nothing
Set objRec = Nothing
End If
%>
                                    </table>
Avatar billede eagleeye Praktikant
21. november 2002 - 20:01 #4
Prøv at flytte denne linie:

<table width="520" border="0" cellspacing="0" cellpadding="0" class="hovedtekst">

Oven over:

Set objRec = Conn.Execute(StrSql)
If Not (objRec.BOF Or objRec.EOF) Then
%>


og så en </table> efter End If
Avatar billede justdoit Nybegynder
21. november 2002 - 20:22 #5
Jepper - tak for det!
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