Hej! Har försökt med uteslutningsmetoden nu och tror att det är denna rad som ställer till det: Har snyggat till koden. Tack för Din hjälp! Beklagar att koden var rörig. Tyvärr hjälpte detta inte heller. Är databaserna identiska? Vad skiljer i resultatet du får?Fortfarande problem med min sökfunktion
Är det verkligen ingen som förstår varför följande kod ger träffar när den körs lokalt på min dator men INTE visar samma träffar när jag kör den på webbhotellet? Vore jätte tacksam om någon kunde hjälpa mig.
Vi har samma version av mysql (4). Jag använder mig av ASP. När jag t.ex. söker på en ort så visas 2 träffar på min dator men 0 på webbhotellet. Sökning på annan ort kan ge 20 träffar på min dator och t.ex. 15 på webbhotellet o.s.v. Koden fungerar som jag vill på min dator men inte på webbhotellet.
<code>
<%
Sub PageNavigation(ByVal Page, TotalPages)
Dim strScriptName
strScriptName = Request.ServerVariables("resultat3.asp")
If CInt(Page) > 1 Then
Response.Write "« Föregående "
Else
Response.Write "<font color='ffffff'><span class='text12'>« Föregående "
End If
For N = 1 To CInt(TotalPages)
If N <> CInt(Page) Then
Response.Write "" & N & " "
Else
Response.Write "<B><font color='ffffff'><span class='text12'>" & N & "<B> "
End If
Next
If CInt(Page) < CInt(TotalPages) Then
Response.Write "Nästa »"
Else
Response.Write "<font color='ffffff'><span class='text12'>Nästa »"
End If
End Sub
intPageSize = 10
intPage = Request.QueryString("page")
If intPage = "" Then
intPage = 1
end if
ortnamn = Request("ortnamn")
if ortnamn <> "" then
sql = "select s.stugid, s.antalbadd, s.kommentarer, s.pris_per_natt, s.hogsasongvecka, s.pris_per_vecka, s.namn2,
s.aktivera, s.ortid, s.reserv, o.ortid, o.ortnamn, l.lan_id, l.län, i.innehavareid, i.kontaktperson from Stugor as s inner join
innehavare as i on i.innehavareid=s.innehavareid inner join ort as o on o.ortid=s.ortid inner join lan as l on l.lan_id=o.lan_id
where o.ortnamn like '%" & ortnamn & "%' and s.Aktivera=-1 order by " & ordning
Set rs = Server.CreateObject("ADODB.Recordset")
rs.CursorLocation = 3
rs.Open sql, stugdatabas, 3
if rs.eof then
Response.Write("Inga träffar")
else
rs.PageSize = intPageSize
rs.AbsolutePage = intPage
intTotalPages = rs.PageCount
intCounter = 0
do until rs.eof OR intCounter >= intPageSize
intCounter = intCounter + 1
%>
Resultat skrivs ut....
<%
rs.movenext
if not rs.eof OR intCounter >= intPageSize then
%>
Resultat skrivs ut
<%
intCounter = intCounter + 1
rs.movenext
end if
loop
%>
</code>Sv: Fortfarande problem med min sökfunktion
rs.CursorLocation = 3
Finns det något jag kan använda istället för cursorlocation som har samma effekt?
Mvh LenaSv: Fortfarande problem med min sökfunktion
<code>
<%
Sub PageNavigation(ByVal Page, TotalPages)
Dim Index
Dim strQueryString
strQueryString = "&ortnamn=" & Server.URLEncode(ortnamn) & "&ordning=" & Server.URLEncode(ordning)
Response.Write "<font color=""ffffff""><span class=""text12"">"
If CInt(Page) > 1 Then
Response.Write "« Föregående"
Else
Response.Write "« Föregående "
End If
For Index = 1 To TotalPages
If Index = Page Then
Response.Write "<B>" & Index & "</B>"
Else
Response.Write "" & N & " "
End If
Next
If CInt(Page) < CInt(TotalPages) Then
Response.Write "Nästa »"
Else
Response.Write "Nästa »"
End If
Response.Write "</span></font>"
End Sub
Dim strSQL
Dim intPage
Dim intCounter
Dim intTotalPages
Dim strOrdning
Dim strOrtNamn
Const intPageSize = 10
Const adUseClient = 3
Const adOpenStatic = 3
Const adLockReadOnly = 1
strOrdning = Request.QueryString("ordning")
strOrtNamn = Request.QueryString("ortnamn")
Select Case LCase(strOrdning)
Case "ortnamn"
strOrdning = "ortnamn"
Case Else
strOrdning = "namn"
End Select
If Len(strOrtNamn) Then
strSQL = "SELECT s.stugid, s.antalbadd, s.kommentarer, s.pris_per_natt, s.hogsasongvecka, s.pris_per_vecka, s.namn2,
s.aktivera, s.ortid, s.reserv, o.ortid, o.ortnamn, l.lan_id, l.län, i.innehavareid, i.kontaktperson" & vbCrLf & _
"FROM Stugor AS s LEFT JOIN " & vbCrLf & _
" innehavare AS i ON s.innehavareid = i.innehavareid LEFT JOIN " & vbCrLf & _
" ort AS o ON s.ortid = o.ortid LEFT JOIN " & vbCrLf & _
" lan AS l ON o.lan_id = l.lan_id" & vbCrLf & _
"WHERE o.ortnamn LIKE ''%" & Replace(strOrtNamn, "''", "''''") & "%'' AND s.Aktivera=-1" & vbCrLf & _
"ORDER BY " & strOrdning
Set rs = Server.CreateObject("ADODB.Recordset")
rs.PageSize = intPageSize
rs.CursorLocation = adUseClient
rs.Open strSQL, stugdatabas, adOpenStatic, adLockReadOnly
If rs.EOF Then
Response.Write "Inga träffar"
Else
intTotalPages = rs.PageCount
intPage = "" & Request.QueryString("page")
If IsNumeric(intPage) Then
intPage = CInt(intPage)
If intPage < 1 Then
intPage = 1
ElseIf intPage > intTotalPages Then
intPage = intTotalPages
End if
Else
intPage = 1
End if
rs.AbsolutePage = intPage
intCounter = 1
Do Until rs.eof OR intCounter >= intPageSize
%>
Resultat skrivs ut....
<%
intCounter = intCounter + 1
rs.movenext
Loop
End If
rs.Close
Set rs = Nothing
stugdatabas.Close
Set stugdatabas = Nothing
%>
</code>
Det kanske kan hjälpa med LEFT JOINS.Sv: Fortfarande problem med min sökfunktion
Mvh LenaSv: Fortfarande problem med min sökfunktion