Avatar billede justdoit Nybegynder
16. november 2002 - 18:50 Der er 15 kommentarer og
1 løsning

Hjælp til søgefunktion

Jeg vil gerne lave en søgefunktion, som kan søge på 2 ord fra et form felt, som fx. lille fugl!!

Her er mine koder som jeg arbejder med, men når jeg søger på noget som jeg ved findes, så finder jeg ikke noget??


<%
Dim StrKeyword
StrKeyword = Replace(Request.Form("soeg"), "'", "''")
If strKeyword <> "" Then
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ConString
StrSql = "SELECT * FROM annoncer WHERE annoncetekst LIKE '%" & strKeyword & "%'"
Set objRec = Conn.Execute(StrSql)
If objRec.EOF or objRec.BOF then
%>
<table width="520" border="0" cellspacing="0" cellpadding="0" class="hovedtekst">
                                      <tr bgcolor="#DDDDDD">
                                        <td height="3" colspan="2"></td>
                                      </tr>
                                      <tr bgcolor="#DDDDDD">
                                        <td width="5" valign="top"> </td>
                                        <td valign="top">Husk at skrive et søgeord</td>
                                      </tr>
                                      <tr bgcolor="#DDDDDD">
                                        <td height="3" colspan="2"></td>
                                      </tr>
                                      <tr>
                                        <td height="1" colspan="2" bgcolor="#CCCCCC"></td>
                                      </tr>
                                    </table>
                                      <% else %>
                                      <table width="520" border="0" cellspacing="0" cellpadding="0" class="hovedtekst">
                                      <tr bgcolor="#DDDDDD">
                                        <td height="3" colspan="2"></td>
                                      </tr>
                                      <%
                                      while not objRec.eof
                                      %>
                                      <tr bgcolor="#DDDDDD">
                                        <td width="5" valign="top"> </td>
                                        <td valign="top"><%=objRec("annoncetekst")%>&nbsp<%=objRec("kategori")%>&nbsp<%=objRec("u_kategoriId")%></td>
                                      </tr>
                                      <tr bgcolor="#DDDDDD">
                                        <td height="3" colspan="2"></td>
                                      </tr>
                                      <tr>
                                        <td height="1" colspan="2" bgcolor="#CCCCCC"></td>
                                      </tr>
<%
objRec.movenext()
wend
Conn.Close
Set Conn = Nothing
Set objRec = Nothing
End if
End if
%>
Avatar billede snowcat Nybegynder
16. november 2002 - 18:50 #1
alle dine % skal være ?
Avatar billede erikjacobsen Ekspert
16. november 2002 - 18:53 #2
Når du søger på den måde skal "lille" og "fugl" stå med
præcis et mellemrum imellem. Gør de det?
Avatar billede justdoit Nybegynder
16. november 2002 - 18:59 #3
snowcat: lige meget om jeg bruger % eller ? så finder den ikke noget i db, lige meget hvad jeg skriver!!

erikjacobsen: Jeg vil gerne lave sådan at jeg både kan søge på et eller to ord.. Så når jeg skriver fx lille fugl, så står det jo i en form, så jeg ved ikke om det er noget med at lave et SPLIT eller noget i den stil??
Avatar billede erikjacobsen Ekspert
16. november 2002 - 19:01 #4
snup lige en
  response.write StrSql
og sig hvad der står. Men står der "lille fugl" præcis sådan i din tekst?
Avatar billede justdoit Nybegynder
16. november 2002 - 19:09 #5
lige nu - sådan som mit script ser ud (Tidspunkt  18:50:02) der udskriver den ikke noget lige meget om jeg skriver lille fugl (det står der i db) eller om jeg hvilked som helst andet???

Undeligt!!
Avatar billede erikjacobsen Ekspert
16. november 2002 - 19:37 #6
Det er nok din
If objRec.EOF or objRec.BOF then
der skal være
if not objRec,EOF then
Avatar billede justdoit Nybegynder
16. november 2002 - 19:56 #7
Ok det er underligt - der er INGEN ting der virker lige pludselig!!!!


Hvad er der galt med disse koder???



<%
Dim StrKeyword
StrKeyword = Replace(Request.Form("soeg"), "'", "''")

If strKeyword <> "" Then
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ConString
StrSql = "SELECT * FROM annoncer WHERE annoncetekst LIKE '%" & strKeyword & "%'"
Set objRec = Conn.Execute(StrSql)
%>
                                    <table width="520" border="0" cellspacing="0" cellpadding="0" class="hovedtekst">
                                      <% While not objRec.eof %>
                                      <tr bgcolor="#DDDDDD">
                                        <td height="3" colspan="2"></td>
                                      </tr>
                                      <tr bgcolor="#DDDDDD">
                                        <td width="5" valign="top"> </td>
                                        <td valign="top"><%=objRec("annoncetekst")%>&nbsp<%=objRec("kategori")%>&nbsp<%=objRec("u_kategoriId")%></td>
                                      </tr>
                                      <tr bgcolor="#DDDDDD">
                                        <td height="3" colspan="2"></td>
                                      </tr>
                                      <tr>
                                        <td height="1" colspan="2" bgcolor="#CCCCCC"></td>
                                      </tr>
                                      <%
objRec.movenext()
wend
Conn.Close
Set Conn = Nothing
Set objRec = Nothing
End if
%>
Avatar billede justdoit Nybegynder
16. november 2002 - 19:57 #8
Jeg får ingen fejl, men en masser "smadderet" tabeller
Avatar billede erikjacobsen Ekspert
16. november 2002 - 20:05 #9
link?
Avatar billede justdoit Nybegynder
16. november 2002 - 20:19 #10
Jeg har det ikke liggende ude på nettet hvis det er det du mener! Men du må gerne se alle koderne hvis du vil ??
Avatar billede erikjacobsen Ekspert
16. november 2002 - 20:26 #11
Joh, men det var bare for at gøre det nemmere at se hvad
du mener med "smadrede tabelleer" :) Der mangler fx et </table>
Avatar billede justdoit Nybegynder
16. november 2002 - 20:31 #12
<!--#include file="include/mappath.asp" -->
<% thispage = "soegning" %>
<html>
<head>
<title>.:hzo:.</title>
<link rel="stylesheet" href="css/style.css" type="text/css">
<link rel="stylesheet" href="css/sitestyle.css" type="text/css">
<script type="text/javascript" src="css/preload.js"></script>
</head>

<body class="bg" topmargin="2" onload="Preload('logo.gif','annoncer.gif','hjaelp1.gif','hjaelp2.gif','main.gif','main2.gif','soeg1.gif','soeg2.gif','nyheder1.gif','nyheder2.gif');">
<table width="750" border="0" cellspacing="0" cellpadding="0" align="center">
  <tr>
    <td background="billeder/site/ramme_top_left.gif" width="4" height="4"></td>
    <td background="billeder/site/ramme_top_midt.gif" height="4" colspan="15"></td>
    <td background="billeder/site/ramme_top_right.gif" width="4" height="4"></td>
  </tr>
  <tr>
    <td background="billeder/site/ramme_left.gif" width="4"></td>
    <td colspan="15" class="hvid">
      <!--#include file="include/top.asp" -->
    </td>
    <td background="billeder/site/ramme_right.gif" width="4"></td>
  </tr>
<!--#include file="include/menubar_top.asp" -->
  <tr class="hvid">
    <td background="billeder/site/ramme_left.gif" width="4" rowspan="2"></td>
    <td colspan="15" height="11"></td>
    <td background="billeder/site/ramme_left.gif" width="4" rowspan="2"></td>
  </tr>
  <tr class="hvid">
    <td colspan="15" height="4" class="hvid">
      <table width="732" border="0" cellspacing="0" cellpadding="0" height="4">
        <tr>
          <td class="bg2" width="170"></td>
          <td width="12"></td>
          <td width="550" class="sidemenu_bg"></td>
        </tr>
      </table>
    </td>
  </tr>
  <tr>
    <td colspan="17">
      <table width="750" border="0" cellspacing="0" cellpadding="0" class="hvid" height="100%">
        <tr>
          <td width="170" valign="top">           
<!--#include file="include/hovedmenu_alle.asp" -->
</td>
          <td width="4" class="bg2"></td>
          <td width="12"></td>
          <td width="550" valign="top">
            <table width="550" border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td class="overskrift_farve"><img src="billeder/site/pil_right.gif">&nbsp;<a onFocus="this.blur()" href="default.asp">Forside</a>&nbsp;<img src="billeder/site/pil_right.gif">&nbsp;Din
                  s&oslash;gning gav f&oslash;lgende resultat</td>
              </tr>
              <tr>
                <td height="2" class="sidemenu_bg"></td>
              </tr>
              <tr>
                <td height="2" class="sidemenu_bg"></td>
              </tr>
              <tr>
                <td>
                  <table width="550" border="0" cellspacing="0" cellpadding="0">
                    <tr>
                      <td width="525" height="2" colspan="2"></td>
                      <td rowspan="2" width="25" valign="top" class="bggraa">
                        <table width="25" border="0" cellspacing="0" cellpadding="0">
                          <tr>
                            <td background="billeder/site/main.gif" height="21"></td>
                          </tr>
                        </table>
                      </td>
                    </tr>
                    <tr>
                      <td class="bggraa" width="7"></td>
                      <td class="bggraa" width="520">
                        <table width="520" border="0" cellspacing="0" cellpadding="0" class="bggraa">
                            <tr>
                              <td height="25"></td>
                            </tr>
                            <tr>
                              <td>
                               
                              <table width="520" border="0" cellspacing="0" cellpadding="0" class="hovedtekst">
                                <tr>
                                  <td rowspan="8" background="billeder/site/menu_u.gif" width="8" height="41"></td>
                                  <td height="1" bgcolor="#D0D0BD"></td>
                                  <td rowspan="8" background="billeder/site/menu_u2.gif" width="1" height="41"></td>
                                </tr>
                                <tr>
                                  <td bgcolor="#E1E1CC" height="15"></td>
                                </tr>
                                <tr>
                                  <td height="1" bgcolor="#D0D0BD"></td>
                                </tr>
                                <tr>
                                  <td height="5"></td>
                                </tr>
                                <tr>
                                  <td height="1" bgcolor="#D0D0BD"></td>
                                </tr>
                                <tr>
                                  <td height="3" bgcolor="#E1E1CC"></td>
                                </tr>
                                <tr>
                                  <td bgcolor="#E1E1CC">
                                    <table width="511" border="0" cellspacing="0" cellpadding="0" class="hovedtekst">
                                      <tr>
                                        <td>Vælg en annonce kategori</td>
                                      </tr>
                                    </table>
                                  </td>
                                </tr>
                                <tr>
                                  <td height="1" bgcolor="#D0D0BD"></td>
                                </tr>
                                <tr>
                                  <td height="5" colspan="2"></td>
                                </tr>
                                <tr>
                                  <td colspan="2">
                                    <%
Dim StrKeyword
StrKeyword = Replace(Request.Form("soeg"), "'", "''")

If strKeyword <> "" Then
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ConString
StrSql = "SELECT * FROM annoncer WHERE annoncetekst LIKE '%" & strKeyword & "%'"
Set objRec = Conn.Execute(StrSql)
%>
                                    <table width="520" border="0" cellspacing="0" cellpadding="0" class="hovedtekst">
                                      <% While not objRec.eof %>
                                      <tr bgcolor="#DDDDDD">
                                        <td height="3" colspan="2"></td>
                                      </tr>
                                      <tr bgcolor="#DDDDDD">
                                        <td width="5" valign="top"> </td>
                                        <td valign="top"><%=objRec("annoncetekst")%>&nbsp<%=objRec("kategori")%>&nbsp<%=objRec("u_kategoriId")%></td>
                                      </tr>
                                      <tr bgcolor="#DDDDDD">
                                        <td height="3" colspan="2"></td>
                                      </tr>
                                      <tr>
                                        <td height="1" colspan="2" bgcolor="#CCCCCC"></td>
                                      </tr>
                                      <%
objRec.movenext()
wend
Conn.Close
Set Conn = Nothing
Set objRec = Nothing
End if
%>
                                    </table>
                                  </td>
                                </tr>
                              </table>
                              </td>
                            </tr>
                            <tr>
                              <td height="20"></td>
                            </tr>
                            <tr>
                              <td>
                                <table width="520" border="0" cellspacing="0" cellpadding="0" bgcolor="#E1E1CC" class="hovedtekst">
                                  <tr>
                                    <td width="1" bgcolor="#D0D0BD" rowspan="4"></td>
                                    <td width="516" height="1" bgcolor="#D0D0BD"></td>
                                    <td width="1" bgcolor="#D0D0BD" rowspan="4"></td>
                                  </tr>
                                  <tr>
                                    <td width="516" height="15">
                                  </tr>
                                  <tr>
                                    <td width="516" height="2" bgcolor="#E1E1CC">
                                  </tr>
                                  <tr>
                                    <td width="516" height="1" bgcolor="#D0D0BD"></td>
                                  </tr>
                                </table>
                              </td>
                            </tr>
                            <tr>
                              <td height="20"></td>
                            </tr>
                          </table>
                        </td>
                    </tr>
                  </table>
                </td>
              </tr>
              <tr>
                <td height="2" class="bggraa"></td>
              </tr>
              <tr>
                <td>
                  <table width="550" border="0" cellspacing="0" cellpadding="0">
                    <tr>
                      <td rowspan="2" background="billeder/site/main2.gif" height="16" width="20"></td>
                      <td height="14" class="bggraa"></td>
                    </tr>
                    <tr>
                      <td height="2"></td>
                    </tr>
                    <tr>
                      <td colspan="2" height="5" class="sidemenu_bg"></td>
                    </tr>
                    <tr>
                      <td colspan="2" height="10"></td>
                    </tr>
                  </table>
                </td>
              </tr>
            </table>
          </td>
          <td width="10"></td>
          <td background="billeder/site/ramme_left.gif" width="4"></td>
        </tr>
      </table>
    </td>
  </tr>
  <tr>
    <td colspan="17">
      <table width="750" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td background="billeder/site/ramme_midt_midt3.gif" width="4" height="4"></td>
          <td background="billeder/site/ramme_top_midt.gif" height="4"></td>
          <td background="billeder/site/ramme_top_midt.gif" height="4" width="4"></td>
          <td width="120" background="billeder/site/ramme_top_midt.gif" height="4"></td>
          <td background="billeder/site/ramme_top_midt.gif" height="4" width="4"></td>
          <td width="120" background="billeder/site/ramme_top_midt.gif" height="4"></td>
          <td background="billeder/site/ramme_midt_midt2.gif" width="4" height="4"></td>
        </tr>
        <tr>
          <td colspan="2"></td>
<!--#include file="include/bund.asp" -->
</table>
</body>
</html>
Avatar billede erikjacobsen Ekspert
16. november 2002 - 20:39 #13
Det er næsten synd at genere ekspertens database med
så meget kode ;) Jeg har ikke lige mulighed for at sfvikle
din ASP - men skulle du endelig poste noget, så kunne
det være den HTML der kommer ud af det...
Avatar billede justdoit Nybegynder
16. november 2002 - 21:20 #14
ok - ved det godt - men jeg prøver lige at se på det selv, så vender jeg lige tilbage når mit spørgsmål handler lidt mere om søgefunktionen.
Jeg ved ikke hvad der er sket, det der virkede fint for et par timer siden, er totalt gået i stykker, så det retter jeg lige..
Avatar billede erikjacobsen Ekspert
16. november 2002 - 21:45 #15
Du har vist mange tabeller inden i hinanden, så der skal ikke
meget til at gå galt. Brug gerne en HTML-validator.
Avatar billede justdoit Nybegynder
17. november 2002 - 14:01 #16
Flyttet her over, da jeg har lavet lidt om:

http://www.eksperten.dk/spm/284339
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