Jag håller på med en menypryl och har lite funderingar på sorteringsordningen i databasen.
Som jag har nu så har jag ett fält i databasen som heter "ordning" där lagrar jag värden från "01" och uppåt..
Låt oss säga att jag har 5 poster i denna databas där ordning då blir 01, 02, 03, 04, 05
Typ "Select * from databas order by ordning ASC"
När jag listar upp posterna på en sida så har jag ett formulär med en textruta vid varje post där värdet för ordning visas och där jag kan ändra på alla samtidigt med en uppdateringsknapp längst ned som uppdaterar hela formuläret. Det är inte så jobbigt när man bara har 5 poster men när det börjar komma över 10 så blir det lite småjobbigt.
Det jag nu tänkt göra är att istället för textrutan ha 2 st bilder en med en "uppåtpil" och en med en "nedåtpil" på varje post (utom på första och sista posterna där jag har antingen pil-upp bild eller pil-ned bild) för att med dom kunna ändra ordningen.
Jag undrar om nån kan hjälpa mig med en kodsnutt för att få till detta.
Jag har försökt lite.. :)
Select * from databas where id = "request.querystring("id")"
Ingen som har nån kodsnutt.. det är ju bara koden för att kunna få den som man flyttar upp eller ner att få ett högre resp. lägre nummer och flytta den posten till det som den som var innan hade...
------------------
Ingenting är omöjligt, bara en utmaning.
Tack @anders.. nu har jag fixat en kod här som fungerar utmärkt men jag har stött på lite problemas..
<%
forstanr = "Select ordning FROM menyhuvud ORDER BY ordning ASC"
Set fnr = Connection.Execute(forstanr)
forsta = Cint(fnr("ordning"))
sistanr = "Select ordning FROM menyhuvud ORDER BY ordning DESC"
Set snr = Connection.Execute(sistanr)
sista = Cint(snr("ordning"))
If Request.Querystring("up") <> "" THEN
up = Request.Querystring("up")
TMP1 = "SELECT ordning, id FROM menyhuvud WHERE ordning = '" & up & "';"
Set myTMP1 = Connection.Execute(TMP1)
postup = myTMP1("ordning")
postupid = myTMP1("id")
postupny = postup - 1
TMP2 = "SELECT ordning, id FROM menyhuvud WHERE ordning = '" & postup - 1 & "';"
set myTMP2 = Connection.Execute(TMP2)
postdown = myTMP2("ordning")
postdownid = myTMP2("id")
postdownny = postdown + 1
SQL2 = "UPDATE menyhuvud SET ordning = '" & postupny & "' WHERE id = "& postupid &" ;"
SQL1 = "UPDATE menyhuvud SET ordning = '" & postdownny & "' WHERE id = "& postdownid &" ;"
Connection.Execute(SQL2)
Connection.Execute(SQL1)
'--------------------------------------------
ELSEIF Request.Querystring("down") <> "" THEN
'--------------------------------------------
down = Request.Querystring("down")
TMP1 = "SELECT ordning, id FROM menyhuvud WHERE ordning = '" & down & "';"
Set myTMP1 = Connection.Execute(TMP1)
postdown = myTMP1("ordning")
postdownid = myTMP1("id")
postdownny = postdown + 1
TMP2 = "SELECT ordning, id FROM menyhuvud WHERE ordning = '" & postdown + 1 & "';"
set myTMP2 = Connection.Execute(TMP2)
postup = myTMP2("ordning")
postupid = myTMP2("id")
postupny = postup - 1
SQL2 = "UPDATE menyhuvud SET ordning = '" & postupny & "' WHERE id = "& postupid &" ;"
SQL1 = "UPDATE menyhuvud SET ordning = '" & postdownny & "' WHERE id = "& postdownid &" ;"
Connection.Execute(SQL2)
Connection.Execute(SQL1)
'SQL2 = "UPDATE menyhuvud SET ordning = '" & postdownny & "' WHERE id = "& postupid &" ;"
'SQL1 = "UPDATE menyhuvud SET ordning = '" & postupny & "' WHERE id = "& postdownid &" ;"
'Connection.Execute(SQL2)
'Connection.Execute(SQL1)
END IF
%>
Problemet blir när man tar bort en post då blir det till exempel ordning 1,2,4,5,6,7 och när jag då ska flytta upp post 4 ett steg vill den ju byta med numret som den tror finns ovan som då ska vara 3... kan man inte bygga om på något smart sätt så att den tar nästan nummer som är ovanför utan att vara beroende av att det är samma nr serie?
Nån som kan hjälpa mig med att få till det?
------------------
Ingenting är omöjligt, bara en utmaning.
Fast jag gjorde så att med tanke på sorteringsordningen så la jag till en 0 före alla tal som var under 10 och på så sätt löste sig sorteringen.
Men det blev ju lite omständigt så nu använder jag tal.
Vad menar du.. går det inte att flytta upp posten om det saknas ett nummer i sorteringsordningen?
Isf måste jag ju flytta ned den som jag vill ta bort längst ned och sen ta bort den då blir det ju rätt.. men det bilr ju lite jobbigt om man har många poster.
Beskriv lite mer hur du menade om det går att lösa?
------------------
Ingenting är omöjligt, bara en utmaning.
138 ms totalt · 3 externa anrop · v20260731065814-full.55e59744