ConnyFoxMedlem sedan aug. 20011 087 inlägg Ok nu e d så att jag e total newbie som sagt och har ett litet problem med att kunna lista både inlägg med bestämt innehåll och samtliga inlägg på en och samma sida!
jag har en länk på en sida som gör att när man klickar på community listas community länkarna. Infot skickas med querystring.
<a href="links_kategori.asp?kategori=community">Community</a>
På sidan där inläggen listas använder jag denna raden för att lista inläggen där kolumnen kategori är lika med det som skickats med querystringen
SQL = "SELECT * FROM links WHERE kategori LIKE '"& Request.querystring("kategori") &"' ORDER BY datum DESC"
Jag listar sedan innehållet med RecSet
<b>Kategori </b>: <%=RecSet("kategori")%><br>
<b>Insänd av</b> : <%=RecSet("namn")%><br>
<b>Beskrivning</b> : <%=RecSet("beskrivning")%>
Men då kommer problemet, om jag vill lista alla inläggen i databasen går inte detta eftersom ifall jag t.ex skulle skicka en querystring till sidan som är ALLA kan den ju inte lista alla inläggen i databasen utan föröker lista inläggen där kategori = allasom den gör med dom andra.. saken e ju den att d inte finns några inlägg som heter alla och att det inte är dom jag e ute efter utan jag vill att ALLA inlägg ska listas inte bara dom där kategori = alla hehe
------------------
*brölar ljudligt*
ConnyFoxMedlem sedan aug. 20011 087 inlägg jag kom på att det väll borde kunna fixas lätt med lite if satser, något sånt här typ ?
<%
database = Server.MapPath("links.mdb")
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& database
Set RecSet = Server.CreateObject("ADODB.Recordset")
if Request.querystring("kategori") like "alla" then
SQL = "SELECT * FROM links ORDER BY linkname"
else
SQL = "SELECT * FROM links WHERE kategori LIKE '"& Request.querystring("kategori") &"' ORDER BY datum DESC"
end if
RecSet.Open SQL, Connection, 3, 3
%>
Saken e den att jag får upp ett error så jag antar att något e fel med den koden? rättning tack.. ;)
------------------
*brölar ljudligt*
LarsGMedlem sedan dec. 200012 464 inlägg sql = "SELECT * FROM links "
if lcase(request.querystring("kategori")) <> "alla" then
sql = sql & "where kategori = '" & request.querystring("kategori") & "' "
end if
sql = sql & "ORDER BY datum DESC"
------------------
essentitia preter non sans multiplicandum
ConnyFoxMedlem sedan aug. 20011 087 inlägg hehe lyckades lösa det genom att byta ut LIKE mot = glömde av att man inte kan använda LIKE i annat än SQL samanhang ;) men nu funkar det iaf fin fint!
------------------
*brölar ljudligt*
ConnyFoxMedlem sedan aug. 20011 087 inlägg Hmm som sagt koden funkar fin fint! Eller funkade tills jag försökte lägga till 2 st if satser till då bliv det bof eller eof = true error på dom två nya (dom som visas som elseif) nån som vet vad som är fel? Felet visade på raden med loop delen
<%
RecSet.MoveFirst
Do until RecSet.EOF
%>
<%
database = Server.MapPath("links.mdb")
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& database
Set RecSet = Server.CreateObject("ADODB.Recordset")
if Request.querystring("kategori") = "alla" then
SQL = "SELECT * FROM links ORDER BY linkname"
elseif Request.querystring("kategori") = "senaste" then
SQL = "SELECT * FROM links ORDER BY datum DESC"
elseif Request.querystring("kategori") = "top" then
SQL = "SELECT klicks FROM links ORDER BY klicks"
else
SQL = "SELECT * FROM links WHERE kategori LIKE '"& Request.querystring("kategori") &"' ORDER BY datum DESC"
end if
RecSet.Open SQL, Connection, 3, 3
%>
------------------
*brölar ljudligt*
LarsGMedlem sedan dec. 200012 464 inlägg Om det blir fel i loop-delen så är det väl bra om du visar den också, nez pa.
Du kan lägga till detta innan loopen
if recset.eof then
response.write "Inget hittades <br>""
else
'loop through recordset
end if
sen så bör du ha två olika variabler i querystring, en som bestämmer sorteringsordning och en som bestämmer sökvillkoret. Du kan sluta att använda like också.
------------------
essentitia preter non sans multiplicandum
ConnyFoxMedlem sedan aug. 20011 087 inlägg Här är loop delen
<%
RecSet.MoveFirst
Do until RecSet.EOF <--- denna rad som d blir error på ;)
%>
<%
RecSet.MoveNext
loop
RecSet.Close
connection.Close
%>
Förklara detta närmare jag är inte så insatt..
sen så bör du ha två olika variabler i querystring, en som bestämmer sorteringsordning och en som bestämmer sökvillkoret. Du kan sluta att använda like också.
------------------
*brölar ljudligt*
LarsGMedlem sedan dec. 200012 464 inlägg Tag bort recset.movefirst
Två variabler i querystring
<a href='a.asp?kategori=alla&sortera=klick'>hehå</a>
och sedan när du hämtar
sql = "select * from links "
if Request.querystring("kategori") <> "alla" then
sql = sql & "where kategori = '" request.querystring("kategori") & "' "
end if
if Request.querystring("sortera") = "senaste" then
SQL = sql & "ORDER BY datum DESC"
elseif Request.querystring("kategori") = "top" then
SQL = sql & "ORDER BY klicks"
end if
RecSet.Open SQL, Connection, 3, 3
Då kan du mycket enklare få alla möjliga kombinationer av sökning och sortering.
------------------
essentitia preter non sans multiplicandum
ConnyFoxMedlem sedan aug. 20011 087 inlägg hehe tack.. tror tyvärr att den koden övergick mitt förstånd, vet inte om d beror på att jag e trött eller att jag e trög men.. ;)
Hur som helst så lyckades jag få ordning på min skrammliga kod o den duger för mig tills vidare :o)
------------------
*brölar ljudligt*