Försökte anpassa ett paging-script jag hade till en ny sida. Tanken är att jag skall kunna plocka upp olika poster beroende på vad dom har för status:skickade, besvarade, publicerade och alla
Jag har en meny där dessa val finns och tänkte ladda om sidan vid varje val för att hämta upp rätt poster.
Använder en Select Case för att avgöra vilken SQL-sats som skall köras. Problemet är att jag får upp samtliga poster i databasen oavsett vilket val jag gör. Det enda som funkar är om jag inte har någon post alls som uppfyller sökkriteriet...då blir det EOF.
Men har jag en enda post som uppfylller kriteriet listas hela databasen upp.
För teständamål har jag kört mot en nästan tom databas med 4 poster....1 skickad, 2 besvarad, 1 publicerad. Men jag får alltså upp alla 4 på samtliga alternativ.
Lägger ut Select Case-koden här eftersom jag misstänker att det är där jag gjort fel så slipper ni en massa onödig kod...behövs resten så säg till så lägger jag ut hela filen.
Mina response.write("case #") som ligger i koden är för att jag skall se att den kör rätt case...vilket den gör.
Pagingscriptet fungerar fint när jag testkör i annan fil utan fler Case-alternativ, och SQL-satserna fungerar fint när jag testkör utan paging och med ADODB.Connection. Men alltså inte så här:
--== Start av SELECT CASE ======================================--
Set rs=Server.CreateObject("ADODB.Recordset")
rs.CursorType=3
Select case(val2)
case "1"
response.write("case 1")
sql="select fraga_text, user_fnamn, user_enamn, skickad, besvarad, publicerad FROM fraga WHERE publicerad=TRUE;"
case "2"
response.write("case 2")
sql="select fraga_text, user_fnamn, user_enamn, skickad, besvarad, publicerad FROM fraga WHERE skickad AND NOT besvarad;"
case "3"
response.write("case 3")
sql="select fraga_text, user_fnamn, user_enamn, skickad, besvarad, publicerad FROM fraga WHERE besvarad AND NOT publicerad;"
case "4"
response.write("case 4")
sql="select fraga_text, user_fnamn, user_enamn, skickad, besvarad, publicerad FROM fraga WHERE publicerad;"
END Select
rs.Open sql,conn
rs.PageSize=10
IF rs.EOF then
response.write "Det finns inga frågor"
ELSE
ant_sidor=rs.PageCount
END IF
IF sida="" THEN
akt_sida=1
ELSE
akt_sida=sida
END IF
IF NOT rs.eof then
rs.AbsolutePage=akt_sida
y=0
end if
'--== Slutet av SELECT CASE ======================================--