webForumDet fria alternativet

Sortering verkar bli omvänd...

ASPur ASP

2 svar · 289 visningar · startad av oGGo

Medlem sedan apr. 2003120 inlägg
Frågan#1

Hej!
Jag håller på att bygga en liten länksida men har stött på patrull i form av sorteringen på min sida.
Jag har gjort så att användaren själv skall få välja i vilken ordning länkarna skall sorteras samt om det skall vara ASC eller DESC och det är här problemet dyker upp.
All sortering sköts fint förutom när det kommer till siffror. Jag har en kolumn som heter "klick" dvs. hur många gånger någon klickat på en länk.
Om man väljer denna kolumn och ASC så sorteras postarna ur min databas från 9-0 istället för 0-9 vilket är oerhört frustrerande.

Är det någon som stött på samma problem som jag, eller är det måhända jag som gjort något knasigt med min kod?

Min kod finns här:
http://pastebin.com/443504

samt att jag bifogar den.
SQL-strängen/strängarna som ger mig problem är dem på rad 27-33 dvs. dem under kommentaren:
'HÄMTA LÄNKARNA

Jag är ytterst tacksam för svar då jag nu sittit med detta problem i snart 2 timmar. :x

Om problemet är valet av db så ber jag mod om ursäkt för att inte ha placerat den i db-forumet.

Tack på förhand
/oGGo

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db.mdb"))

	orderby = Request.QueryString("orderby")
		If orderby = "" Then
			orderby = "id"
		end if
	
	ascdesc = Request.QueryString("ascdesc")
		If ascdesc = "" Then
			ascdesc = "ASC"
		end if
	
	cat = Request.QueryString("cat")
		If cat = "" Then
			cat = 0
		end if

	'HÄMTA ALLA KATEGORIER
	SQL1="select * from CAT order by cat ASC"
		Set RS1=Conn.Execute(SQL1)
	
	'HÄMTA LÄNKARNA
	If Request.QueryString("cat") >= 1 Then
		SQL2="select * from LINKS where CID = "& Request.QueryString("cat") &" order by "& orderby &" "& ascdesc &""
	else
		SQL2="select * from LINKS order by "& orderby &" "& ascdesc &""
	end if
		Set RS2=Conn.Execute(SQL2)

	'RÄKNA UT HUR MÅNGA LÄNKAR TOTALT
	SQLant="select Count(*) AS ant from LINKS"
		Set RSant=Conn.Execute(SQLant)
	
	
	'asdasdasd
	If Request.QueryString("leave") > "" Then
		SQLrg="SELECT * FROM links WHERE id = "& Request.QueryString("leave") &""
			Set RSrg=Conn.Execute(SQLrg)
		SQLrd="UPDATE links SET klick = '"& RSrg("klick")+1 &"' WHERE id = "& Request.QueryString("leave") &""
			Conn.Execute SQLrd
			Response.Redirect RSrg("url")
	end if
		
%>

<html>
<head>
<link rel=stylesheet href="style.css" TYPE="text/css">
<title>:: Torrentlänkar ::</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<img src="img/logo.gif" />
<div class="main" height="100%">

<select name="meny" class="dropdown" onchange="self.location.href=this.options[this.selectedIndex].value;">
	<option> - välj kategori - </option>
	<option <%If Request.QueryString("cat") = "0" Then%>selected<%end if%> value="?cat=0">visa alla (<%=RSant("ant")%>)</option>
	<%Do Until RS1.eof
			SQLcnt="select Count(*) AS ant from LINKS where CID = "& RS1("cid") &""
				Set RScnt=Conn.Execute(SQLcnt)%>
	<option <%If int(RS1("cid")) = int(Request.QueryString("cat")) Then%>selected<%end if%> value="?cat=<%=RS1("cid")%>&orderby=<%=orderby%>&ascdesc=<%=ascdesc%>"><%=RS1("cat")%> (<%=RScnt("ant")%>)</option>
	<%RS1.MoveNext
	Loop%>
</select>

<select name="meny" class="dropdown" onchange="self.location.href=this.options[this.selectedIndex].value;">
<option> - sortera efter - </option>
<option <%If Request.QueryString("orderby") = "namn" Then%>selected<%end if%> value="?cat=<%=cat%>&orderby=namn&ascdesc=<%=ascdesc%>">namn</option>
<!--<option <%If Request.QueryString("orderby") = "betyg" Then%>selected<%end if%> value="?cat=<%=cat%>&orderby=betyg&ascdesc=<%=ascdesc%>">betyg</option>-->
<option <%If Request.QueryString("orderby") = "klick" Then%>selected<%end if%> value="?cat=<%=cat%>&orderby=klick&ascdesc=<%=ascdesc%>">klick</option>
<option <%If Request.QueryString("orderby") = "cid" Then%>selected<%end if%> value="?cat=<%=cat%>&orderby=cid&ascdesc=<%=ascdesc%>">kategori</option>
<option <%If Request.QueryString("orderby") = "status" Then%>selected<%end if%> value="?cat=<%=cat%>&orderby=status&ascdesc=<%=ascdesc%>">status</option>
<option <%If Request.QueryString("orderby") = "id" Then%>selected<%end if%> value="?cat=<%=cat%>&orderby=id&ascdesc=<%=ascdesc%>">datum</option>
</select>

<select name="meny" class="dropdown" onchange="self.location.href=this.options[this.selectedIndex].value;">
<option> - ordning - </option>
<option <%If Request.QueryString("ascdesc") = "asc" Then%>selected<%end if%> value="?cat=<%=cat%>&orderby=<%=orderby%>&ascdesc=asc">fallande</option>
<option <%If Request.QueryString("ascdesc") = "desc" Then%>selected<%end if%> value="?cat=<%=cat%>&orderby=<%=orderby%>&ascdesc=desc">stigande</option>
</select>

<%
If Not RS2.eof Then
	Do Until RS2.eof%>
	<div class="torrList">
		<div class="torrList_top">
			<img src="img/<%=RS2("status")%>.gif" /> <a href="?leave=<%=RS2("id")%>" target="_blank"><%=RS2("namn")%></a> | klick: <%=RS2("klick")%>
		</div>

		<%If RS2("status") = "off" Then%>
		<div class="torrList_mid">
			OFFLINE: <%=RS2("off_reason")%>
		</div>
		<%end if%>

		<div class="torrList_bot">
		<%=RS2("desc")%>
		</div>
	</div>
		
		<br />

	<%RS2.moveNext
	Loop
else
	Response.Write "Inga länkar i denna kategori"
end if
%>
</div>

</body>
</html>
Medlem sedan juni 20019 519 inlägg
#2

Skall det inte vara DESC istället för ASC?

Medlem sedan apr. 2003120 inlägg
#3

voigtann1 skrev:

Skall det inte vara DESC istället för ASC?

Förlåt, nu är jag faktiskt lite korkad.
Här har man suttit hela tiden och funderat på vad som är fel utan att egentligen inse att det är jag som tänkt bakvänt.

Hoppla hoppla!
Nu går jag direkt till skampålen! :r

130 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)