09. marts 2002 - 11:15Der er
2 kommentarer og 1 løsning
Ret i position
Hejsa, Jeg må efter en del tids søgen prøve her! Jeg mangler en funktion til at rette positionen for en post i en database.. Jeg har oprettet et felt i db som hedder position hvor vigtigste indlæg får værdi 1 og nedefter. Jeg vil så godt have muligheden for at fx rette Indlæg med position "18" --> "9", hvor den så retter andre indlæg mellem 9 og 17 med +1, så der ikke vil være nogle duplicates.. Og hvis man nu retter 9 --> 18, vil den så skulle gøre det omvendt..
Det lyder vist lidt forvirrende, men er der nogen som kan se hvad jeg mener og måske kan hjælpe?
ahh, ja ser ud som noget brugbart! Hvordan vil det så se ud ved at have en select menu ud fra hvert indlæg i en listning af alle indlæg. Dvs. man skal fra min visningsside af alle indlæg, have en select-menu ud fra hvert af dem med deres respektive position nummer i.. Ved at lave en ændring i et af dem, skal den automatisk rokerer indlæggene rundt ved valg
Ok.. Jeg har fået denne til at virke fint. Er godt noget rodet kode, but it works :) <%
sub rykposition(newpos,oldpos)
if newpos < oldpos then dim sql1 dim strConn, strconn2, strconn1 dim x, sql, sql2 Set strconn1 =Server.CreateObject("ADODB.Connection") strConn1.open="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("./db/wjt.mdb") sql1= "UPDATE staff SET position = 0 where position="&oldpos&"" strConn1.Execute (sql1) strconn1.close
for x=oldpos-1 to newpos step -1
Set strconn =Server.CreateObject("ADODB.Connection") strConn.open="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("./db/wjt.mdb")
sql = "UPDATE staff SET position = "&x&" + 1 where position = "&x&"" response.write sql strConn.Execute (sql) strconn.close
next Set strconn2 =Server.CreateObject("ADODB.Connection") strConn2.open="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("./db/wjt.mdb") sql2= "UPDATE staff SET position = "&newpos&" where position=0" strConn2.Execute (sql2) strconn2.close
else
dim sql3 dim strConn3, strconn4, strconn5 dim xy, sql4, sql5 Set strconn3 =Server.CreateObject("ADODB.Connection") strConn3.open="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("./db/wjt.mdb") sql3= "UPDATE staff SET position = 0 where position="&oldpos&"" strConn3.Execute (sql3) strconn3.close
for x=oldpos+1 to newpos
Set strconn4 =Server.CreateObject("ADODB.Connection") strConn4.open="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("./db/wjt.mdb")
sql4 = "UPDATE staff SET position = "&x&" - 1 where position = "&x&"" response.write sql4 strConn4.Execute (sql4) strconn4.close
next Set strconn5 =Server.CreateObject("ADODB.Connection") strConn5.open="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("./db/wjt.mdb") sql5= "UPDATE staff SET position = "&newpos&" where position=0" strConn5.Execute (sql5) strconn5.close end if end sub %>
Spørgsmålet er så bare nu hvordan jeg kan gribe newpos værdi fra en SELECT menu, og sende til den funtktion..?`? Jeg kalder den lige nu via. <% call rykposition(10,5) %>
Jeg vil godt give flere point hvis det er det der skal til.. Pls hlp
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.