webForumDet fria alternativet

redirect efter 30 sek till nästa post i kolumen?

ASP

8 svar · 387 visningar · startad av magnusfeldth

Medlem sedan jan. 20034 480 inlägg
Frågan#1

hur skriver man en kod för att få sidan att redirectas till en sida med databasposten innan efter 30 sek?

alltså, man är på sidan text.asp?id=5
efter 30 sek hoppar den vidare till text.asp?id=4

osv, så går den i alla steg som inte passerat en expiry date, därefter går den vidare till första posten igen och går igen allt igen...

några förslag?

Medlem sedan nov. 20017 144 inlägg
#2

Response.AddHeader "REFRESH","30;URL=text.asp?id="&id

Medlem sedan jan. 20034 480 inlägg
#3

Men hur gör man så att den börjar på den tråden som är nyast och sedan gör en redirect till nästa tråd som inte passerat en expiry date som skrivs i en kolumn i en accessdatabas?

Alltså, att den börjar på exempelvis ID=32, efter trettio sekunder går den vidare till ID=30 (eftersom ID=31 har redan passerat sin expiry date) och så fortsätter den, tills den kommit ner till ID=1 då den går tillbaka till senaste...

Medlem sedan nov. 20017 144 inlägg
#4

Skall det vara alla eller skall du specificera hur måga poster den skall visa?

Medlem sedan jan. 20034 480 inlägg
#5

Alla poster som alltså är inom kolumnposten expirydate

Medlem sedan nov. 20017 144 inlägg
#6

Hämta posterna med getRows kanske.

Medlem sedan nov. 20017 144 inlägg
#7

Pseudo-kod.
Lägg till en räknare som du plussar på med 1 för varje omladdning, nollställ om det är slut på poster.

		If not myRecSet.EOF then myGetRows = myRecSet.getrows()
		
		If IsArray(myRecSet) then
			If counter > ubound(myRecSet,2) then counter=0
				Response.write myGetRows(0,counter) & " " & myGetRows(1,counter)
                            counter=counter+1	
		Else
			Response.write "Det finns inga poster!"
		End if
Medlem sedan jan. 20034 480 inlägg
#8

Förstår inte riktigt hur du menar, är inte så haj på GetRows... kan du skriva mer av koden? Hur nollställer jag om det är slut på poster?

Medlem sedan nov. 20017 144 inlägg
#9

Nollställer gör jag ju i den bifogade koden.
Skapa ett RecSet som vanligt hämta raderna med getRows.
select id,namn,datum from ...
counter=0
Response.write myGetRows(0,counter) & " "& myGetRows(1,counter)
Innebär att post ett:s id och namn skall skrivas ut

counter = Request.QueryString("counter")
...Annan kod
'Response.AddHeader "REFRESH","30;URL=sida.asp?counter="& counter
'...Annan kod
		Dim calConn,calRS
		Set calConn = Server.CreateObject("ADODB.Connection") 
		calConn.Open "Öppna databas"
		Set calRS = calConn.Execute("select id, namn, etc from tabell where date > now()")
		If not calRS.EOF then arrUgRS = calRS.getrows()
		calRS.Close : Set calRS = Nothing
		calConn.Close : Set calConn = Nothing
		
		If IsArray(myRecSet) then
				Response.write myGetRows(0,counter) & " " & myGetRows(1,counter)
				
		Else
			Response.write "Det finns inga poster!"
		End if

Du får labba lite.

287 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
151 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
145 ms — ändringar (db)