Avatar billede hundevennen Nybegynder
15. juni 2009 - 09:31 Der er 6 kommentarer og
1 løsning

problemer med IF sætning

jeg bruger dette til at lave en fritekstsægning i en database.
Der er en count som tæller hvormang hits der er i en tabel nederst, men hvis der ikke er nogen hits vil jeg gerne ha den til at skrive at der er nul resultater, - altså en If count = 0 then et eller andet?????
Avatar billede keysersoze Guru
15. juni 2009 - 09:38 #1
og din kode ser hvordan ud?

et lille gæt kunne være;

if rs.eof Then
  Response.Write "0 resultater"
else
  'din normale kode
end if
Avatar billede Slettet bruger
15. juni 2009 - 10:33 #2
Ja eller:

intCounter = 0
Do While Not rs.EOF
...
intCounter = intCounter +1
Loop

Response.Write intCounter & " resultater fundet."
Avatar billede hundevennen Nybegynder
15. juni 2009 - 10:44 #3
det gik vist lidt hurtigt - her kommer min kode

<%

Function Highlight(vFind, vSearch)
Dim RegEx
  Set RegEx = New RegExp
  RegEx.Pattern = vFind
  RegEx.IgnoreCase = True
  RegEx.Global = True
  Highlight = RegEx.Replace(vSearch, "<span class=""Highlight"">" & vFind &"</span>")
  Set RegEx = Nothing
End Function


' Henter værdien fra soeg.asp
strKeyword = Trim(Request.Form("Keyword"))

'response.write strKeyword
'response.write maanedsnr
'response.end

If Len(strKeyword) = 0 Then
    ' Hvis der ikke er skrevet i feltet
    Response.Clear
    Response.Redirect("faq.asp")
Else
    ' Hvis der er skrevet i feltet
    'strKeyword = Replace(strKeyword,"'","''")
End If
' Opbygger en dynamisk SQL streng
strSQL = "SELECT emne, sporgsmaal, svar FROM T_polisfaq WHERE"
strSQL = strSQL & " ((emne LIKE '" & strKeyword & "')"
strSQL = strSQL & " OR (sporgsmaal LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (svar LIKE '%" & strKeyword & "%')) and faqtype like 'm2009'"

'Åbning af serverforbindelser
        set rs = server.createobject("ADODB.Recordset")
        rs.Open strSQL, strCon   


' Skaber et recordset udfra SQL strengen

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


    Response.Write "<table class='resultat' width='700'>"
 
    count = 0
    Do While Not rs.EOF
   
   
   
    Response.Write "<tr>"
    response.write "<tr><td valign='top'><font face='Trebuchet MS'><strong>Kategori:&nbsp;</strong>" & rs("emne") &"</td><tr><td ><font face='Trebuchet MS'><strong>Spørgsmål:&nbsp;</strong>" & highlight(strkeyword, rs("sporgsmaal")) & "</td></tr><tr><td ><strong>Svar:&nbsp;</strong>" & highlight(strkeyword, rs("svar")) & "</td></strong></td></tr></font><tr><td><hr></td></tr>"
   
   
    count = count + 1
   
    rs.MoveNext
    Loop
    Response.Write "</table>"
Else
    ' Hvis der ikke er fundet poster på søgningen
    Response.Write "<p></p>"
End If


' Rydder op efter os
rs.Close
Set rs = Nothing

    Response.Write "<table border=0 cellspacing=0 cellpadding=0 width=450 class=count>"
    response.write "<tr><td>"
    response.write "<font face='Trebuchet MS'>Der blev fundet <b> " & count & "</b> resultater af din søgning på ordet: <strong><font size='+1'> " & strKeyword & "</font></font></strong> "
    response.write "</td></tr>"
    response.write "</table>"
%>

<table width="150" border="0" cellspacing="1" class=retur>
  <tr>
    <td><a href="faq.asp"><font face="Trebuchet MS">Retur til søg</font></a></td>
  </tr>
</table>

</body></html>
Avatar billede hundevennen Nybegynder
15. juni 2009 - 11:05 #4
thomasso - det er vist nok din version jeg bruger, - men den skriver ikke et 0 hvis rs er tomt
Avatar billede Slettet bruger
15. juni 2009 - 11:17 #5
Du skal nok lige have count = 0 udenfor If Not (rs.BOF Or rs.EOF) Then

Lige nu sættes count jo kun lig med nul hvis If Not (rs.BOF Or rs.EOF) Then er opfyldt, altså hvis der rent faktisk ER poster der kan gennemløbes.
Avatar billede hundevennen Nybegynder
15. juni 2009 - 11:33 #6
thomasso - det var lige det der skulle til - tak og læg et svar
Avatar billede Slettet bruger
15. juni 2009 - 11:51 #7
:-)
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