Avatar billede schjoett Nybegynder
06. oktober 2003 - 19:16 Der er 39 kommentarer og
1 løsning

HJÆLP! Søgning i Paging "Intpage conflict"

Jeg har lavet en paging med eks. vis alle udtræk fra database. Virker også fint med udtræk!
I selve søgningen som pt. er defineret med Pagesize= 6 vises de første 6 forekomster men funktionen side X af X fungere ikke jeg får teksten side -1 ?  Hjælp hvad kan der være i vejen ??

Intpage funktionen er slået fra ellers får jeg fejlmeddelsen med Intpage conflict.
Avatar billede jpv Nybegynder
06. oktober 2003 - 19:49 #1
Har du lidt kode?
Avatar billede nidyahou Praktikant
06. oktober 2003 - 19:51 #2
Response.Write "<p><b>Side " & intPage & " af " & intPageCount & "</b></p>"
Avatar billede schjoett Nybegynder
06. oktober 2003 - 19:52 #3
Yes Masser!!
Det skal lige siges at koden er en jeg har downloadet med links funktioner! Er ikke blevet udformet endnu vil først have søgningen i orden.


<% response.buffer = true %>
<html>
<head>
<title>Links</title>
<style type="text/css">
<!--
body {margin: 5;font-family:verdana}
a.menu {text-decoration:none;color:#000000}
a.menu:hover {text-decoration:none;color:#FF5500}
a {text-decoration:none;color:#3366FF}
a:hover {text-decoration:underline;color:#333333}
INPUT
{
    BACKGROUND-COLOR: #FFFFFF;
    COLOR: #000000;
    FONT-FAMILY: verdana, helvetica, sans-serif;
    FONT-SIZE: 12px;
    FONT-STYLE: normal;
    border: 1 solid #000000;
}
Textarea
{
    BACKGROUND-COLOR: #FFFFFF;
    COLOR: #000000;
    FONT-FAMILY: verdana, helvetica, sans-serif;
    FONT-SIZE: 12px;
    FONT-STYLE: normal;
    border: 1 solid #000000;
}
-->
</style>
</head>
<body>
<%
strMode = Request.Querystring("mode")
select case strMode
case "id"

Response.Buffer = True

' Her opdateres hits når brugeren bliver sendt til et link
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("links.mdb")
If Request.QueryString("id") <> "" Then
    Set rs = Server.CreateObject("ADODB.RecordSet")
    strSQL = "SELECT * FROM links WHERE (ID = " & Request.QueryString("id") & ")"
    rs.Open strSQL, myConn, 1, 3
    If Not (rs.BOF Or rs.EOF) Then
        rs("Hits") = rs("Hits") + 1
        strURL = rs("URL")
        rs.Update
        rs.Close
        myConn.Close
        Set rs = Nothing
        Set myConn = Nothing
        Response.Clear
        Response.Redirect(strURL)
    End If
End If
%>

<% case "search"
' Siden med søgeresultater

' Database connection
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("links.mdb")

' Henter søgeorden fra formularen
strKeyword = Trim(Request.Form("søgeord"))

If Len(strKeyword) = 0 Then
' Hvis der ikke er skrevet i formularen sendes brugeren tilbage
    Response.Clear
    Response.Redirect ("links.asp?mode=søg")
Else
    strKeyword = Replace(strKeyword,"'","''")
End If

' Opbygger en dynamisk SQL streng
strSQL = "SELECT * FROM links WHERE"
strSQL = strSQL & " (godkendt = 'ja') AND ("
strSQL = strSQL & " (id LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (navn LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (url LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (beskrivelse LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (hits LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (søgeord LIKE '%" & strKeyword & "%'))"

    Response.Write "<table width=""500"" cellspacing=""1"" cellpadding=""3"">"
        Response.Write "<tr><td width=""100%"" colspan=""2"" bgcolor=""#E5E5E5""><font size=""1""><b>Links</b> » <b>Søgeresultater for " & strKeyword & "</b></font></td></tr>"
        Response.Write "<tr><td bgcolor=""#CCCCCC""><font size=""1""><b>Navn/beskrivelse</b></font></td><td bgcolor=""#CCCCCC""><font size=""1""><b>Hits</b></font></td></tr>"

'................ Skaber et recordset udfra SQL strengen OK MED VISNING AF SØGNING...............
Set rs = myConn.Execute(strSQL)

If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 6
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
Do While Not rs.EOF And intRecCount > 0

If farve=1 Then
bg="#FCFCFC"
Farve= Farve + 1
Else
bg="#E5E5E5"
farve=1
End If
        Response.Write "<tr><td valign=top bgcolor=" & bg & "><font size=2><b><a href=""links.asp?mode=id&id=" & rs("ID") & """ target=""_blank"">" & rs("Navn") & "</a></b><br>" & rs("Beskrivelse") & "</font></td>"
        Response.Write "<td valign=top align=center width='30' bgcolor=" & bg & "><font size=2>" & rs("Hits") & "</font></td></tr>"
        intRecCount = intRecCount - 1
        rs.MoveNext
       
    Loop

Else
' Hvis ingen poster passede på søgordene
        Response.Write "<tr><td align=center width=""100%"" colspan=""2"" bgcolor=#e5e5e5><font size=""2""><b>Ingen sider passede på søgeordet</b></font></a></td></tr>"
End If
Response.Write "<tr><td colspan=""2"" bgcolor=""#CCCCCC"">"
Response.Write "<table border=""0"" cellspacing=""0"" cellpadding=""0"" width=""100%""><tr><td bgcolor=""#CCCCCC""><font size='1'>"

If Clng(intPage) > 1 Then
  Response.Write "<a href=links.asp?mode=vis&kat=" & request("kat") & "&page=" & intPage - 1 & "&orderby=" & request("orderby") & " class=""menu"">[<<]</a>&nbsp;"
Else
  Response.Write ""
End If

Response.Write ""
For intNum = 1 To intPageCount
  Response.Write "&nbsp;<a href=links.asp?mode=vis&kat=" & request("kat") & "&page=" & intNum & "&orderby=" & request("orderby") & " class=""menu""><b>" & intNum & "</b></a>&nbsp;"
Next

If Clng(intPage) < Clng(intPageCount) Then
  Response.Write "&nbsp;<a href=links.asp?mode=vis&kat=" & request("kat") & "&page=" & intPage + 1 & "&orderby=" & request("orderby") & " class=""menu"">[>>]</a>"
Else
  Response.Write ""
End If

Response.write "</b> Side <b>" & intPage & "</b> af " & intPageCount & "</font></td><td align=""right""><font size=""1""><b><a href='links.asp' class=""menu"">» Oversigt</a>&nbsp;&nbsp;&nbsp;<a href='links.asp?mode=søg' class=""menu"">» Søg i links</a>&nbsp;&nbsp;&nbsp;<a href='links.asp?mode=add' class=""menu"">» Tilføj links</a></b>&nbsp;&nbsp;</font></td></tr></table></td></tr></table>"





%>

<% case "søg"
' Søgeformularen
Response.write "<form method=POST action=links.asp?mode=search><table width=""500"" cellspacing=""1"" cellpadding=""3"" border=""0"">"
Response.write "<tr><td bgcolor=""#E5E5E5""><font size=""1""><b>Links</b> » <b>Søg</b></font></td></tr>"
Response.write "<tr><td bgcolor=""#FCFCFC""><input type=""text"" name=""søgeord"" size=""60""></td></tr>"
Response.write "<tr><td bgcolor=""#E5E5E5""><input type=""submit"" value=""  søg  "" name=""send""></td></tr>"
response.write "<tr><td align=""right"" bgcolor=""#CCCCCC""><font size=""1""><b><a href=""links.asp"" class=""menu"">» Oversigt</a>&nbsp;&nbsp;&nbsp;<a href=""links.asp?mode=add"" class=""menu"">» Tilføj links</a></b>&nbsp;&nbsp;</font></td></tr></table></form>"
%>
<% case "update"
' Sender resultaterne fra tilføj links til databasen
' Database connection
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("links.mdb")
' Opbygger SQL streng
SQLstmt = "INSERT INTO links (navn,url,beskrivelse,hits,søgeord,kategori,godkendt)"
SQLstmt = SQLstmt & " VALUES ('" & request.form("navn") & "','" & request.form("url") & "','" & replace(request.form("beskrivelse"),"'","''") & "','" & request.form("hits") & "','" & request.form("søgeord") & "','" & request.form("kategori") & "','nej')"

response.write sqlstmt

Conn.Execute (SQLstmt)

conn.Close
Set conn = nothing
Set SQLstmt = nothing

' Sender brugeren tilbage til links når databasen er opdateret
response.redirect ("links.asp")
%>

<% case "add"
' tilføj links
%>
<form method="POST" action="links.asp?mode=update">
        <table border="0" width="500" cellpadding="3" cellspacing="1">
        <tr><td colspan="2" bgcolor="#E5E5E5"><font face="verdana" size="1"><b>Links</b></font></td></tr>
        <tr><td colspan="2" bgcolor="#CCCCCC"><font face="verdana" size="1"><b>Tilføj link</b></font></td></tr>
            <tr>
              <td width="35%" bgcolor="#E5E5E5"><font face="Verdana" size="2"><b>Navn</font></td>
              <td width="65%" bgcolor="#E5E5E5">
                  <p><input type="text" name="navn" size="32"></p>
              </td>
            </tr>
            <tr>
              <td width="35%" bgcolor="#FCFCFC"><font face="Verdana" size="2"><b>url</b></font></td>
              <td width="65%" bgcolor="#FCFCFC"><input type="text" name="url" value="http://" size="32"></td>
            </tr>
            <tr>
              <td width="35%" bgcolor="#E5E5E5" valign="top"><font face="Verdana" size="2"><b>beskrivelse</b></font></td>
              <td width="65%" bgcolor="#E5E5E5"><textarea name="beskrivelse" cols="32"></textarea></td>
            </tr>
            <tr>
              <td width="35%" bgcolor="#FCFCFC" valign="top"><font face="Verdana" size="2"><b>Kategori</b></font></td>
              <td width="65%" bgcolor="#FCFCFC"><select name="kategori">





<%
Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT * FROM kategorier ORDER BY kategori"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("links.mdb")
rs.Open strSQL, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then
  Do until rs.EOF = True
        Response.Write "<option value='" & rs("id") & "'>" & rs("kategori") & vbCrLf
  rs.MoveNext
  Loop
End If
rs.Close
Set rs = Nothing
%></select></td>
            </tr>
            <tr>
              <td width="35%" bgcolor="#E5E5E5" valign="top"><font face="Verdana" size="2"><b>Søgeord</b><br>Adskilles med komma!</font></td>
              <td width="65%" bgcolor="#E5E5E5"><input type="text" name="søgeord" size="32"></td>
            </tr>
            <tr>
              <td width="100%" bgcolor="#FCFCFC" colspan="2"><input type="hidden" value="0" name="hits"><input type="submit" value="Send" name="send" style="background-color:#E5E5E5">
                <input type="reset" value="Annuller" name="anuller" style="background-color:#E5E5E5"></td>
            </tr>
<tr><td colspan="2" align="right" bgcolor="#CCCCCC"><font size="1"><b><a href="links.asp" class="menu">» Links</a>&nbsp;&nbsp;&nbsp;<a href="links.asp?mode=søg" class="menu">» Søg i links</a></b>&nbsp;&nbsp;</font></td></tr></table>
</form>

<% case "vis"
' Hvis der ikke er valgt noget mode vises alle links

' Paging
intPage = Request("page")
rpage = "&page=" & request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
  intPage = 1
  rpage = "&page=1"
End If

orderby = request("orderby")
if request("orderby") <> "" then
orderby = request("orderby")
else
orderby = "navn"
end if

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("links.mdb")
Set kat = Conn.Execute("SELECT kategori FROM kategorier WHERE id=" & request("kat") & "")
katg = kat("kategori")
Set kat = nothing
Conn.Close
Set Conn = Nothing

' Database connection

    Response.Write "<table width='500' cellspacing='1' cellpadding='3'>"

Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT * FROM links WHERE kategori='" & request("kat") & "' AND godkendt='ja' ORDER BY " & orderby & ""
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("links.mdb")
rs.Open strSQL, strDSN, 1
    Response.Write "<tr><td width='100%' colspan=""2"" bgcolor=""#E5E5E5""><font size=""1""><b>Links</b> » <b>" & katg & "</b></font></td></tr>"
If Not (rs.BOF Or rs.EOF) Then
    Response.Write "<tr><td bgcolor=""#CCCCCC""><font size=""1""><b><a href=""links.asp?mode=vis&kat=" & request("kat") & rpage & "&orderby=navn"" class=""menu"">Navn/beskrivelse</a></b></font></td><td bgcolor=""#CCCCCC"" align=""center""><font size=""1""><b><a href=""links.asp?mode=vis&kat=" & request("kat") & rpage & "&orderby=hits"" class=""menu"">Hits</a></b></font></td></tr>"
  rs.PageSize = 3
  rs.AbsolutePage = intPage
  intRecCount = rs.PageSize
  intPageCount = rs.PageCount
  Do While Not rs.EOF And intRecCount > 0

If farve=1 Then
bg="#FCFCFC"
Farve= Farve + 1
Else
bg="#E5E5E5"
farve=1
End If

        Response.Write "<tr><td valign=top bgcolor=" & bg & "><font size=2><b><a href=""links.asp?mode=id&id=" & rs("ID") & """ target=""_blank"">" & rs("Navn") & "</a></b><br>" & rs("Beskrivelse") & "</font></td>"
        Response.Write "<td valign=top align=center width='30' bgcolor=" & bg & "><font size=2>" & rs("Hits") & "</font></td></tr>"

  intRecCount = intRecCount - 1
  rs.MoveNext
  Loop
else
response.write "<tr><td colspan=""2"" align=""center""><font size=""1""><b>Der er ingen links i denne kategori!</b></font></td><tr>"
End If
rs.Close
Set rs = Nothing

' Navigering mellem siderne med paging
Response.Write "<tr><td colspan=""2"" bgcolor=""#CCCCCC"">"
Response.Write "<table border=""0"" cellspacing=""0"" cellpadding=""0"" width=""100%""><tr><td bgcolor=""#CCCCCC""><font size='1'>"

If Clng(intPage) > 1 Then
  Response.Write "<a href=links.asp?mode=vis&kat=" & request("kat") & "&page=" & intPage - 1 & "&orderby=" & request("orderby") & " class=""menu"">[<<]</a>&nbsp;"
Else
  Response.Write ""
End If

Response.Write ""
For intNum = 1 To intPageCount
  Response.Write "&nbsp;<a href=links.asp?mode=vis&kat=" & request("kat") & "&page=" & intNum & "&orderby=" & request("orderby") & " class=""menu""><b>" & intNum & "</b></a>&nbsp;"
Next

If Clng(intPage) < Clng(intPageCount) Then
  Response.Write "&nbsp;<a href=links.asp?mode=vis&kat=" & request("kat") & "&page=" & intPage + 1 & "&orderby=" & request("orderby") & " class=""menu"">[>>]</a>"
Else
  Response.Write ""
End If

Response.write "</b> Side <b>" & intPage & "</b> af " & intPageCount & "</font></td><td align=""right""><font size=""1""><b><a href='links.asp' class=""menu"">» Oversigt</a>&nbsp;&nbsp;&nbsp;<a href='links.asp?mode=søg' class=""menu"">» Søg i links</a>&nbsp;&nbsp;&nbsp;<a href='links.asp?mode=add' class=""menu"">» Tilføj links</a></b>&nbsp;&nbsp;</font></td></tr></table></td></tr></table>"

case else


' Database connection
Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT * FROM kategorier ORDER BY kategori"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("links.mdb")
rs.Open strSQL, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then
    Response.Write "<table width='500' cellspacing='1' cellpadding='3'>"
        Response.Write "<tr><td width='100%' bgcolor=""#E5E5E5""><font size=""1""><b>Links</b></font></td></tr>"
        Response.Write "<tr><td width='100%' bgcolor=""#CCCCCC""><font size=""1""><b>Kategorier</b></font></td></tr>"
  Do until rs.EOF = True

If farve=1 Then
bg="#FCFCFC"
Farve= Farve + 1
Else
bg="#E5E5E5"
farve=1
End If

        Response.Write "<tr><td width='100%' bgcolor=""" & bg & """><font size=""2""><a href='links.asp?mode=vis&kat=" & rs("id") & "&orderby=navn'><b>" & rs("kategori") & "</b></a></font></td></tr>"
  rs.MoveNext
  Loop
End If
        Response.Write "<tr><td align=""right"" bgcolor=""#CCCCCC""><font size=""1""><b><a href='links.asp?mode=søg' class=""menu"">» Søg i links</a>&nbsp;&nbsp;&nbsp;<a href='links.asp?mode=add' class=""menu"">» Tilføj links</a></b>&nbsp;&nbsp;</font></td></tr>"
    Response.Write "</table>"
rs.Close
Set rs = Nothing


end select %>

</body>
</html>
Avatar billede eagleeye Praktikant
06. oktober 2003 - 19:58 #4
Når man bruger paging skal man bruge rs.Open og ikke Set rs = ....

Så prøv at lave dette:

'................ Skaber et recordset udfra SQL strengen OK MED VISNING AF SØGNING...............
Set rs = myConn.Execute(strSQL)


Til dette:

'................ Skaber et recordset udfra SQL strengen OK MED VISNING AF SØGNING...............
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open strSQL, myConn, 1



Eller har du et linje nummer hvor fejlen kommer?
Avatar billede schjoett Nybegynder
06. oktober 2003 - 20:04 #5
Skriver nu:    1  2  3  4  [>>] Side af 4

Mangler dog side x af 4 og at kunne navigere altså næste side. Gør jeg det får jeg fejl i følgende sætning: /links.asp, line 257

Set kat = Conn.Execute("SELECT kategori FROM kategorier WHERE id=" & request("kat") & "")
Avatar billede eagleeye Praktikant
06. oktober 2003 - 20:15 #6
Skriver den ikke det side tal du er kommet til?
Avatar billede schjoett Nybegynder
06. oktober 2003 - 20:18 #7
Hej eagleeye!

Den skriver: 1  2  3  4  [>>] Side af 4
Men jeg kan ikke navigere ! Altså hvis jeg trykker på 2 3 eller 4 samt >> så kommer følgende fejl: /links.asp, line 257
Som er linje:
Set kat = Conn.Execute("SELECT kategori FROM kategorier WHERE id=" & request("kat") & "")
Avatar billede eagleeye Praktikant
06. oktober 2003 - 20:20 #8
Så lyder det som om kat ikke bliver overført rigtigt via linket.

Når du kigger på siden er der så i linket noget med kat=XX ?
Avatar billede schjoett Nybegynder
06. oktober 2003 - 20:24 #9
Øh hvad er det lige du mener ?
Avatar billede eagleeye Praktikant
06. oktober 2003 - 20:26 #10
Hvis der anden gang kommer fejl i denne linje:
Set kat = Conn.Execute("SELECT kategori FROM kategorier WHERE id=" & request("kat") & "")

Så antager jeg det er en fejl enten paramtere missing eller Type Error ??
så er det typisk fordi  request("kat")  er tom.
Avatar billede schjoett Nybegynder
06. oktober 2003 - 20:28 #11
Den skriver :

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'id='.
Avatar billede eagleeye Praktikant
06. oktober 2003 - 20:34 #12
Ok, så får den ikke kat overført til side 2,3,4 osv.

Selvom det godt nok ser ud til at være med i denne linje.:
Response.Write "&nbsp;<a href=links.asp?mode=vis&kat=" & request("kat") & "&page=" & intNum & "&orderby=" & request("orderby") & " class=""menu""><b>" & intNum & "</b></a>&nbsp;"

Når siden vises første gang er der en kat=XX i Adress'e fetlet?? Som eks:
links.asp?mode=add&kat=34

Hvis du køre musen over linket 2, 3, eller 4 skriver den så som eks:
links.asp?mode=vis&kat=34&page=2&orderby=navn
Avatar billede schjoett Nybegynder
06. oktober 2003 - 20:38 #13
Den viser :
links.asp?mode=vis&kat=&page=2&orderby=navn
 
links.asp?mode=vis&kat=34&page=2&orderby=navn

Altså mangler 34
Avatar billede eagleeye Praktikant
06. oktober 2003 - 20:41 #14
Hvad på første side er der kat i linket med?
Avatar billede schjoett Nybegynder
06. oktober 2003 - 20:43 #15
Ja der er vis&kat=5 hvis det er 5 tallet jeg holder musen over
Avatar billede eagleeye Praktikant
06. oktober 2003 - 20:46 #16
Det lyder underlidt det så forsvinder undervej i koden ??
Prøv at lave en linje som denne

strKat = Rquest("kat")

lige før denne:
Set kat = Conn.Execute("SELECT kategori FROM kategorier WHERE id=" & request("kat") & "")

og de steder der står:  request("kat")    ændere det til strKat

Eks:
Set kat = Conn.Execute("SELECT kategori FROM kategorier WHERE id=" & strKat & "")


For intNum = 1 To intPageCount
  Response.Write "&nbsp;<a href=links.asp?mode=vis&kat=" & strKat & "&page=" & intNum & "&orderby=" & request("orderby") & " class=""menu""><b>" & intNum & "</b></a>&nbsp;"
Next
Avatar billede schjoett Nybegynder
06. oktober 2003 - 20:52 #17
Hej lavet ædringerne med linje: strKat = Rquest("kat") og :
Set kat = Conn.Execute("SELECT kategori FROM kategorier WHERE id=" & strKat & "")

Får nu følgende fejlmeddelse:

Error Type:
Microsoft VBScript runtime (0x800A000D)
Type mismatch: 'Rquest'
/links.asp, line 257
Avatar billede schjoett Nybegynder
06. oktober 2003 - 20:53 #18
Før også samme fejl ved funktionen vis alle udtræk!!
Avatar billede eagleeye Praktikant
06. oktober 2003 - 20:56 #19
hov mangler et e:

strKat = request("kat")
Avatar billede schjoett Nybegynder
06. oktober 2003 - 20:57 #20
prøver lige igen!
Avatar billede schjoett Nybegynder
06. oktober 2003 - 21:00 #21
For igen en fejlmeddelse:

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'id='.
/links.asp, line 258
Avatar billede schjoett Nybegynder
06. oktober 2003 - 21:00 #22
Vis alle fungere igen! Men under søgningen samme problemstiling ?
Avatar billede eagleeye Praktikant
06. oktober 2003 - 21:04 #23
det forstår jeg ikke hvis kat=XX ved første side men ikke kommer med i linket til de næste sider...
Avatar billede schjoett Nybegynder
06. oktober 2003 - 21:09 #24
Har du læst koderne som jeg har hæftet på ?

Underligt at vis alle fungere efter hensigten at så søgningen ikke virker med paging ?


Jeg har jo undladt intpage ved omkring linje 101 i det jeg ellers får fejlmeddelse omkring intpage conflict!

If Not (rs.BOF Or rs.EOF) Then
rs.PageSize = 6
intRecCount = rs.PageSize
intPageCount = rs.PageCount
Do While Not rs.EOF And intRecCount > 0
Avatar billede eagleeye Praktikant
06. oktober 2003 - 21:13 #25
Denne:

strSQL = "SELECT * FROM links WHERE kategori='" & request("kat") & "' AND godkendt='ja' ORDER BY " & orderby & ""


Skulle det ikke være:

strSQL = "SELECT * FROM links WHERE kategori='" & katg  & "' AND godkendt='ja' ORDER BY " & orderby & ""

Så den bruger den kategori fra kat tabellen.
Avatar billede schjoett Nybegynder
06. oktober 2003 - 21:19 #26
Nej hjælper ikke det er under Vis alle poster fra Databasen! Det er ikke der det er ved søgningen
Avatar billede schjoett Nybegynder
06. oktober 2003 - 21:24 #27
Det må være i dette her område ???

' ................ Skaber et recordset udfra SQL strengen OK MED VISNING AF SØGNING...............
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open strSQL, myConn, 1




If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 6
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
Do While Not rs.EOF And intRecCount > 0

If farve=1 Then
bg="#FCFCFC"
Farve= Farve + 1
Else
bg="#E5E5E5"
farve=1
End If
        Response.Write "<tr><td valign=top bgcolor=" & bg & "><font size=2><b><a href=""links.asp?mode=id&id=" & rs("ID") & """ target=""_blank"">" & rs("Navn") & "</a></b><br>" & rs("Beskrivelse") & "</font></td>"
        Response.Write "<td valign=top align=center width='30' bgcolor=" & bg & "><font size=2>" & rs("Hits") & "</font></td></tr>"
        intRecCount = intRecCount - 1
        rs.MoveNext
       
    Loop

Else
' Hvis ingen poster passede på søgordene
        Response.Write "<tr><td align=center width=""100%"" colspan=""2"" bgcolor=#e5e5e5><font size=""2""><b>Ingen sider passede på søgeordet</b></font></a></td></tr>"
End If
Response.Write "<tr><td colspan=""2"" bgcolor=""#CCCCCC"">"
Response.Write "<table border=""0"" cellspacing=""0"" cellpadding=""0"" width=""100%""><tr><td bgcolor=""#CCCCCC""><font size='1'>"

If Clng(intPage) > 1 Then
  Response.Write "<a href=links.asp?mode=vis&kat=" & request("kat") & "&page=" & intPage - 1 & "&orderby=" & request("orderby") & " class=""menu"">[<<]</a>&nbsp;"
Else
  Response.Write ""
End If

Response.Write ""
For intNum = 1 To intPageCount
  Response.Write "&nbsp;<a href=links.asp?mode=vis&kat=" & request("kat") & "&page=" & intNum & "&orderby=" & request("orderby") & " class=""menu""><b>" & intNum & "</b></a>&nbsp;"
Next

If Clng(intPage) < Clng(intPageCount) Then
  Response.Write "&nbsp;<a href=links.asp?mode=vis&kat=" & request("kat") & "&page=" & intPage + 1 & "&orderby=" & request("orderby") & " class=""menu"">[>>]</a>"
Else
  Response.Write ""
End If

Response.write "</b> Side <b>" & intPage & "</b> af " & intPageCount & "</font></td><td align=""right""><font size=""1""><b><a href='links.asp' class=""menu"">» Oversigt</a>&nbsp;&nbsp;&nbsp;<a href='links.asp?mode=søg' class=""menu"">» Søg i links</a>&nbsp;&nbsp;&nbsp;<a href='links.asp?mode=add' class=""menu"">» Tilføj links</a></b>&nbsp;&nbsp;</font></td></tr></table></td></tr></table>"





%>

<% case "søg"
' Søgeformularen
Response.write "<form method=POST action=links.asp?mode=search><table width=""500"" cellspacing=""1"" cellpadding=""3"" border=""0"">"
Response.write "<tr><td bgcolor=""#E5E5E5""><font size=""1""><b>Links</b> » <b>Søg</b></font></td></tr>"
Response.write "<tr><td bgcolor=""#FCFCFC""><input type=""text"" name=""søgeord"" size=""60""></td></tr>"
Response.write "<tr><td bgcolor=""#E5E5E5""><input type=""submit"" value=""  søg  "" name=""send""></td></tr>"
response.write "<tr><td align=""right"" bgcolor=""#CCCCCC""><font size=""1""><b><a href=""links.asp"" class=""menu"">» Oversigt</a>&nbsp;&nbsp;&nbsp;<a href=""links.asp?mode=add"" class=""menu"">» Tilføj links</a></b>&nbsp;&nbsp;</font></td></tr></table></form>"
%>
Avatar billede eagleeye Praktikant
06. oktober 2003 - 21:24 #28
Nu er jeg lost??

Hvis der er i den del så se mit svar.
Og lige efter case "search" tilføj dette:

intPage = Request("page")
If intPage = "" Then
  intPage = 1
End If


Samt den linje med:
  rs.AbsolutePage = intPage
Avatar billede schjoett Nybegynder
06. oktober 2003 - 21:28 #29
Ja sorry Eagleeeye!

Har sat det ind du lige skrev og får fejlen :

Error Type:
Microsoft VBScript runtime (0x800A01A8)
Object required: 'intPage'
/links.asp, line 64
Avatar billede schjoett Nybegynder
06. oktober 2003 - 21:29 #30
Tilføjelse!! Det er når jeg søger fejlmeddelsen kommer nu !
Avatar billede eagleeye Praktikant
06. oktober 2003 - 21:30 #31
Prøv at vise koden inde i

<% case "search"  delen
Avatar billede schjoett Nybegynder
06. oktober 2003 - 21:31 #32
Ok!

<% case "search"
intPage = Request("page")
rs.AbsolutePage = intPage
If intPage = "" Then
intPage = 1
End If



' Siden med søgeresultater

' Database connection
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("links.mdb")

' Henter søgeorden fra formularen
strKeyword = Trim(Request.Form("søgeord"))

If Len(strKeyword) = 0 Then
' Hvis der ikke er skrevet i formularen sendes brugeren tilbage
    Response.Clear
    Response.Redirect ("links.asp?mode=søg")
Else
    strKeyword = Replace(strKeyword,"'","''")
End If

' Opbygger en dynamisk SQL streng
strSQL = "SELECT * FROM links WHERE"
strSQL = strSQL & " (godkendt = 'ja') AND ("
strSQL = strSQL & " (id LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (navn LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (url LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (beskrivelse LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (hits LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (søgeord LIKE '%" & strKeyword & "%'))"

    Response.Write "<table width=""500"" cellspacing=""1"" cellpadding=""3"">"
        Response.Write "<tr><td width=""100%"" colspan=""2"" bgcolor=""#E5E5E5""><font size=""1""><b>Links</b> » <b>Søgeresultater for " & strKeyword & "</b></font></td></tr>"
        Response.Write "<tr><td bgcolor=""#CCCCCC""><font size=""1""><b>Navn/beskrivelse</b></font></td><td bgcolor=""#CCCCCC""><font size=""1""><b>Hits</b></font></td></tr>"

' ................ Skaber et recordset udfra SQL strengen OK MED VISNING AF SØGNING...............
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open strSQL, myConn, 1




If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 6
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
Do While Not rs.EOF And intRecCount > 0

If farve=1 Then
bg="#FCFCFC"
Farve= Farve + 1
Else
bg="#E5E5E5"
farve=1
End If
        Response.Write "<tr><td valign=top bgcolor=" & bg & "><font size=2><b><a href=""links.asp?mode=id&id=" & rs("ID") & """ target=""_blank"">" & rs("Navn") & "</a></b><br>" & rs("Beskrivelse") & "</font></td>"
        Response.Write "<td valign=top align=center width='30' bgcolor=" & bg & "><font size=2>" & rs("Hits") & "</font></td></tr>"
        intRecCount = intRecCount - 1
        rs.MoveNext
       
    Loop

Else
' Hvis ingen poster passede på søgordene
        Response.Write "<tr><td align=center width=""100%"" colspan=""2"" bgcolor=#e5e5e5><font size=""2""><b>Ingen sider passede på søgeordet</b></font></a></td></tr>"
End If
Response.Write "<tr><td colspan=""2"" bgcolor=""#CCCCCC"">"
Response.Write "<table border=""0"" cellspacing=""0"" cellpadding=""0"" width=""100%""><tr><td bgcolor=""#CCCCCC""><font size='1'>"

If Clng(intPage) > 1 Then
  Response.Write "<a href=links.asp?mode=vis&kat=" & request("kat") & "&page=" & intPage - 1 & "&orderby=" & request("orderby") & " class=""menu"">[<<]</a>&nbsp;"
Else
  Response.Write ""
End If

Response.Write ""
For intNum = 1 To intPageCount
  Response.Write "&nbsp;<a href=links.asp?mode=vis&kat=" & request("kat") & "&page=" & intNum & "&orderby=" & request("orderby") & " class=""menu""><b>" & intNum & "</b></a>&nbsp;"
Next

If Clng(intPage) < Clng(intPageCount) Then
  Response.Write "&nbsp;<a href=links.asp?mode=vis&kat=" & request("kat") & "&page=" & intPage + 1 & "&orderby=" & request("orderby") & " class=""menu"">[>>]</a>"
Else
  Response.Write ""
End If

Response.write "</b> Side <b>" & intPage & "</b> af " & intPageCount & "</font></td><td align=""right""><font size=""1""><b><a href='links.asp' class=""menu"">» Oversigt</a>&nbsp;&nbsp;&nbsp;<a href='links.asp?mode=søg' class=""menu"">» Søg i links</a>&nbsp;&nbsp;&nbsp;<a href='links.asp?mode=add' class=""menu"">» Tilføj links</a></b>&nbsp;&nbsp;</font></td></tr></table></td></tr></table>"

%>
Avatar billede eagleeye Praktikant
06. oktober 2003 - 21:33 #33
Ok, retter den lige til.

1. rs.AbsolutePage skal flyttes.
2. mode=vis --> mode=search
3. strKeyword skal overføres i QueryStringen fra side 1->2->3 osv så søge ordet bevares fra side til side.
Avatar billede eagleeye Praktikant
06. oktober 2003 - 21:36 #34
Prøv lige dette:


<% case "search"
intPage = Request("page")
If intPage = "" Then
  intPage = 1
End If

' Siden med søgeresultater
' Database connection
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("links.mdb")

' Henter søgeorden fra formularen
strKeyword = Trim(Request.Form("søgeord"))
if strKeyword = "" then strKeyword = Trim(Request.QueryString("søgeord"))

If Len(strKeyword) = 0 Then
' Hvis der ikke er skrevet i formularen sendes brugeren tilbage
    Response.Clear
    Response.Redirect ("links.asp?mode=søg")
Else
    strKeyword = Replace(strKeyword,"'","''")
End If

' Opbygger en dynamisk SQL streng
strSQL = "SELECT * FROM links WHERE"
strSQL = strSQL & " (godkendt = 'ja') AND ("
strSQL = strSQL & " (id LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (navn LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (url LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (beskrivelse LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (hits LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (søgeord LIKE '%" & strKeyword & "%'))"

    Response.Write "<table width=""500"" cellspacing=""1"" cellpadding=""3"">"
        Response.Write "<tr><td width=""100%"" colspan=""2"" bgcolor=""#E5E5E5""><font size=""1""><b>Links</b> » <b>Søgeresultater for " & strKeyword & "</b></font></td></tr>"
        Response.Write "<tr><td bgcolor=""#CCCCCC""><font size=""1""><b>Navn/beskrivelse</b></font></td><td bgcolor=""#CCCCCC""><font size=""1""><b>Hits</b></font></td></tr>"

' ................ Skaber et recordset udfra SQL strengen OK MED VISNING AF SØGNING...............
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open strSQL, myConn, 1

If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 6
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
Do While Not rs.EOF And intRecCount > 0

If farve=1 Then
bg="#FCFCFC"
Farve= Farve + 1
Else
bg="#E5E5E5"
farve=1
End If
        Response.Write "<tr><td valign=top bgcolor=" & bg & "><font size=2><b><a href=""links.asp?mode=id&id=" & rs("ID") & " target=""_blank"">" & rs("Navn") & "</a></b><br>" & rs("Beskrivelse") & "</font></td>"
        Response.Write "<td valign=top align=center width='30' bgcolor=" & bg & "><font size=2>" & rs("Hits") & "</font></td></tr>"
        intRecCount = intRecCount - 1
        rs.MoveNext
       
    Loop

Else
' Hvis ingen poster passede på søgordene
        Response.Write "<tr><td align=center width=""100%"" colspan=""2"" bgcolor=#e5e5e5><font size=""2""><b>Ingen sider passede på søgeordet</b></font></a></td></tr>"
End If
Response.Write "<tr><td colspan=""2"" bgcolor=""#CCCCCC"">"
Response.Write "<table border=""0"" cellspacing=""0"" cellpadding=""0"" width=""100%""><tr><td bgcolor=""#CCCCCC""><font size='1'>"

If Clng(intPage) > 1 Then
  Response.Write "<a href=links.asp?mode=search&kat=" & request("kat") & "&page=" & intPage - 1 & "&søgeord=" & strKeyword & "&orderby=" & request("orderby") & " class=""menu"">[<<]</a>&nbsp;"
Else
  Response.Write ""
End If

Response.Write ""
For intNum = 1 To intPageCount
  Response.Write "&nbsp;<a href=links.asp?mode=search&kat=" & request("kat") & "&page=" & intNum & "&søgeord=" & strKeyword & "&orderby=" & request("orderby") & " class=""menu""><b>" & intNum & "</b></a>&nbsp;"
Next

If Clng(intPage) < Clng(intPageCount) Then
  Response.Write "&nbsp;<a href=links.asp?mode=search&kat=" & request("kat") & "&page=" & intPage + 1 & "&søgeord=" & strKeyword & "&orderby=" & request("orderby") & " class=""menu"">[>>]</a>"
Else
  Response.Write ""
End If

Response.write "</b> Side <b>" & intPage & "</b> af " & intPageCount & "</font></td><td align=""right""><font size=""1""><b><a href='links.asp' class=""menu"">» Oversigt</a>&nbsp;&nbsp;&nbsp;<a href='links.asp?mode=søg' class=""menu"">» Søg i links</a>&nbsp;&nbsp;&nbsp;<a href='links.asp?mode=add' class=""menu"">» Tilføj links</a></b>&nbsp;&nbsp;</font></td></tr></table></td></tr></table>"

%>
Avatar billede eagleeye Praktikant
06. oktober 2003 - 21:39 #35
Umiddelbart bliver hver kat eller orderby ikke brugt i case "seach" delen så det kan fjernes fra linksne:

Response.Write "&nbsp;<a href=links.asp?mode=search&kat=" & request("kat") & "&page=" & intNum & "&søgeord=" & strKeyword & "&orderby=" & request("orderby") & " class=""menu""><b>" & intNum & "</b></a>&nbsp;"


Så de bliver som sådan her:

Response.Write "&nbsp;<a href=links.asp?mode=search&page=" & intNum & "&søgeord=" & strKeyword & " class=""menu""><b>" & intNum & "</b></a>&nbsp;"
Avatar billede schjoett Nybegynder
06. oktober 2003 - 21:41 #36
VIRKER NU KANONT HVIS JEG KUNNE GIVE 1000 POINT SÅ HAVDE JEG SGU GJORT DET! MANGE TAK FOR HJÆLPEN!
Avatar billede schjoett Nybegynder
06. oktober 2003 - 21:42 #37
Nu skal jeg bare lige finde ud af hvordan jeg overføre point til dig?
Avatar billede eagleeye Praktikant
06. oktober 2003 - 21:43 #38
Du tykker bare på mit navn i boken med navne og trykker accepter.
Avatar billede schjoett Nybegynder
06. oktober 2003 - 21:45 #39
Sådan!!
Avatar billede eagleeye Praktikant
06. oktober 2003 - 21:46 #40
Jeps ;)  tak.
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