Postar du någonting till sida 3?
Jag ser inte att du måste ha sida 2, den känns lite onödig. Om du inte har mer kod där vill säga.
Var sätter du session("sokord")?
Mvh,
------------------
All your base are belong to me.
7 svar · 253 visningar · startad av Hallgren
Mmmm, nu har jag suttit ett tag och kan inte hitta någon lösning till mitt lilla problem.
Sitter med vides paging till en sök funktion och har nu lag in en koll på om man har skrivit in ett sökord eller inte. Använder mig av en session för att skriva ut en text.
Felet är att paging funktionen slutar att funka. Den radar upp alla poster. :(
---sida 1---
<html>
<head>
<title>.sök</title>
</head>
<body>
<%
if session("mess") = "" then
response.write "tom"
else
response.write session("mess")
end if
%>
<table>
<tr>
<td>
<form method="post" action="fieldcheck.asp">
<input type="text" name="sokord">
<p>
<input type="submit" value=".sök">
</form>
</td>
</tr>
</table>
</body>
</html>
---sida 2---
<%
if not trim(request.form("sokord")) = "" then
response.redirect "sokexe.asp"
else
session("mess") = "text"
response.redirect "sok.asp"
end if
%>
---sida 3--
<%
if request.form("sokord") = "" then
word = session("sokord")
else
word = request.form("sokord")
session("sokord") = word
end if
Dim Connect
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={MYSQL};server=localhost;db=webshop;uid=;pwd=;"
resultat = "SELECT count(*) FROM varor WHERE vara LIKE '" & word & "%'"
strSQL = "SELECT * FROM varor WHERE vara LIKE '" & word & "%'"
Set objRs = Server.Createobject("Adodb.Recordset")
Set rs = Connect.execute(resultat)
'paging
intPageId = request.querystring( "pageid" )
if intPageId = "" then intPageId = 1
with objRs
.cursorlocation = 3
.open strSQL,connect
.pagesize = 2
.absolutepage = intPageId
end with
intPages = cint( objRs.pagecount )
intCurrentPost = 0
do while not objRs.eof and intCurrentPost < objRs.pagesize
strContents = strContents & "<a href ='?katid=" & objrs("artnr") & "'>" & objRs("vara") & "</a>" & "<br>"
intCurrentPost = intCurrentPost + 1
objRs.movenext
loop
for i = 1 to objRs.pagecount
strNavigation = strNavigation & " <a href='?pageid=" & i & "'>" & i & "</a>"
next
response.write "Din sökning gav " & rs(0) & " träffar." & "<p>"
response.write strNavigation & "<p>"
response.write strContents
%>
------------------
Forumledare, webForum
[Redigerat av Hallgren den 24 nov 2001]
Postar du någonting till sida 3?
Jag ser inte att du måste ha sida 2, den känns lite onödig. Om du inte har mer kod där vill säga.
Var sätter du session("sokord")?
Mvh,
------------------
All your base are belong to me.
Om jag kan ha sida 2's funktion på sida 3 så blir jag ju glad med har inte lyckats med det än... :l
if request.form("sokord") = "" then
word = session("sokord")
else
word = request.form("sokord")
session("sokord") = word
end if
...där? Mmm, blir det fel då jag har en sida imellan?
------------------
Forumledare, webForum
Det resulterar ju i alla fall i att ingenting postas till sida 3.
Jag gissar lite här: sida1 är sok.asp och sida3 är sokexe.asp?
Vad ska du använda session("sokord") till?
Vet inte om jag förstått precis vad du gör, men prova denna kod:
<%
if request.form("sokord") = "" then
word = session("sokord")
session("mess") = "text"
response.redirect "sok.asp"
else
word = request.form("sokord")
session("sokord") = word
end if
Dim Connect
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={MYSQL};server=localhost;db=webshop;uid=;pwd=;"
resultat = "SELECT count(*) FROM varor WHERE vara LIKE '" & word & "%'"
strSQL = "SELECT * FROM varor WHERE vara LIKE '" & word & "%'"
Set objRs = Server.Createobject("Adodb.Recordset")
Set rs = Connect.execute(resultat)
'paging
intPageId = request.querystring( "pageid" )
if intPageId = "" then intPageId = 1
with objRs
.cursorlocation = 3
.open strSQL,connect
.pagesize = 2
.absolutepage = intPageId
end with
intPages = cint( objRs.pagecount )
intCurrentPost = 0
do while not objRs.eof and intCurrentPost < objRs.pagesize
strContents = strContents & "<a href ='?katid=" & objrs("artnr") & "'>" & objRs("vara") & "</a>" & "<br>"
intCurrentPost = intCurrentPost + 1
objRs.movenext
loop
for i = 1 to objRs.pagecount
strNavigation = strNavigation & " <a href='?pageid=" & i & "'>" & i & "</a>"
next
response.write "Din sökning gav " & rs(0) & " träffar." & "<p>"
response.write strNavigation & "<p>"
response.write strContents
%>
Och låt då också sok.asp posta direkt till sokexe.asp.
Mvh,
------------------
All your base are belong to me.
Efter ha lagt ner lite tid på annat så är jag tillbaka till min sökfunktion och till min förvåning så funkade det inte...mm..borde ha kollat igenom den lite mer noggrant. :l
Problem:
Söker och får upp resultatet men är jag skall kolla på nästa sida så kommer jag tillbaka till sok.asp som där klagar över att jag inte har skrivit in något ord i sök rutan och så ska det ju inte var.
<%
if request.form("sokord") = "" then
word = session("sokord")
session("mess") = "fyll i ett ord"
response.redirect "sok.asp"
else
word = request.form("sokord")
session("sokord") = word
end if
Dim Connect
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={MYSQL};server=localhost;db=webshop;uid=;pwd=;"
resultat = "SELECT count(*) FROM varor WHERE vara LIKE '" & word & "%'"
strSQL = "SELECT * FROM varor WHERE vara LIKE '" & word & "%'"
Set objRs = Server.Createobject("Adodb.Recordset")
Set rs = Connect.execute(resultat)
'paging
intPageId = request.querystring( "pageid" )
if intPageId = "" then intPageId = 1
with objRs
.cursorlocation = 3
.open strSQL,connect
.pagesize = 2
.absolutepage = intPageId
end with
intPages = cint( objRs.pagecount )
intCurrentPost = 0
do while not objRs.eof and intCurrentPost < objRs.pagesize
strContents = strContents & "<a href ='?katid=" & objrs("artnr") & "'>" & objRs("vara") & "</a>" & "<br>"
intCurrentPost = intCurrentPost + 1
objRs.movenext
loop
for i = 1 to objRs.pagecount
strNavigation = strNavigation & " <a href='?pageid=" & i & "'>" & i & "</a>"
next
response.write "Din sökning gav " & rs(0) & " träffar." & "<p>"
response.write strNavigation & "<p>"
response.write strContents
%>
------------------
Forumledare, webForum
<%
if request.form("sokord") = "" then
word = session("sokord")
[b]
if word = "" then
session("mess") = "fyll i ett ord"
response.redirect "sok.asp"
end if
[/b]
else
word = request.form("sokord")
session("sokord") = word
end if
Dim Connect
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={MYSQL};server=localhost;db=webshop;uid=;pwd=;"
resultat = "SELECT count(*) FROM varor WHERE vara LIKE '" & word & "%'"
strSQL = "SELECT * FROM varor WHERE vara LIKE '" & word & "%'"
Set objRs = Server.Createobject("Adodb.Recordset")
Set rs = Connect.execute(resultat)
'paging
intPageId = request.querystring( "pageid" )
if intPageId = "" then intPageId = 1
with objRs
.cursorlocation = 3
.open strSQL,connect
.pagesize = 2
.absolutepage = intPageId
end with
intPages = cint( objRs.pagecount )
intCurrentPost = 0
do while not objRs.eof and intCurrentPost < objRs.pagesize
strContents = strContents & "<a href ='?katid=" & objrs("artnr") & "'>" & objRs("vara") & "</a>" & "<br>"
intCurrentPost = intCurrentPost + 1
objRs.movenext
loop
for i = 1 to objRs.pagecount
strNavigation = strNavigation & " <a href='?pageid=" & i & "'>" & i & "</a>"
next
response.write "Din sökning gav " & rs(0) & " träffar." & "<p>"
response.write strNavigation & "<p>"
response.write strContents
%>
------------------
essentitia preter non sans multiplicandum
Först så måste jag ha in en funktion i
.eof så att det kommer upp en text om den inte hittar något i db. Felmedelanden är ju inte en höjdare att få. ;) sen så jävlas mina sessions. Då den kommer ihåg förra resultatet så kan man söka utan att skriva in någon om man går tillbaka efter första söknigen.
Mmmm, känns som om jag krånglar till det med den här sökfunktionen. :(
Någon som har en bättre lösning?
------------------
Forumledare, webForum