webForumDet fria alternativet

Hur ska det lösas?

ASP

17 svar · 608 visningar · startad av Ivar

Medlem sedan aug. 2002218 inlägg
Frågan#1

Här är min kod just nu och det funkar bra. Just nu visas alla annonser som jag har i data basen men jag vill att visa 20 annonser åt gången och därefter 20 till också vidare typ (Page in) är detta möjligt eller är det jag som är ute och cyklar.

Mvh Ivar

<%
Dim connect, query, senaste, test
set connect = server.createobject("ADODB.connection")
Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db/annonser.mdb") & ";pwd=;"
Set senaste = Server.CreateObject("ADODB.Recordset")
query = "SELECT * FROM items Where test='on' ORDER BY dateCreated DESC"
senaste.Open query, Connect
Set RecSet = Server.CreateObject("ADODB.Recordset")

SQL = "DELETE FROM items WHERE dateCreated < #" & dateAdd("d",-30,Date) & "#"
RecSet.Open SQL, Connect,1,2
Do Until senaste.EOF
%>

<tr>
<td> <a href="detail.asp?item=<%=senaste("id")%>"><%=senaste("item")%></a>
</td>
<td> Categori:
<% if senaste("category")="categori1" then %>
<%=categori1%>
<% elseif senaste("category")="categori2" then %>
<%=categori2%>
<% elseif senaste("category")="categori3" then %>
<%=categori3%>
<% elseif senaste("category")="categori4" then %>
<%=categori4%>
<% elseif senaste("category")="categori5" then %>
<%=categori5%>
<% end if %>
</td>
<td> Pris: <%=senaste("price")%> Kr </td>
</tr>
<%

senaste.MoveNext

Loop

senaste.Close
Set senaste = Nothing
%>

Medlem sedan feb. 200112 078 inlägg
Medlem sedan aug. 2002218 inlägg
#3

Tack OveRRidE för tipset ska kolla om det funkar

Medlem sedan mars 20015 287 inlägg
#4

Du har inte hört talas om response.write? ;)
(Syftar på kodväxlingarna)

Medlem sedan aug. 2002218 inlägg
#5

Kan du ge mig exempel hur gör man?

Medlem sedan feb. 20022 594 inlägg
#6

Response.Write funkar såhär:

Response.Write "Sträng som ska skrivas"

Du kan använda parenteser runt strängen också om du vill... Alltså:

Response.Write ("Sträng som ska skrivas")

Är det paging du vill lära dig tipsar jag gärna om Vides guide på webeye.nu :)

Medlem sedan mars 20015 287 inlägg
#7

OBS ingen paging här, men färre "kodväxlingar"

<% 
Dim connect, query, senaste, test 
set connect = server.createobject("ADODB.connection") 
Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db/annonser.mdb") & ";pwd=;" 
Set senaste = Server.CreateObject("ADODB.Recordset") 
query = "SELECT * FROM items Where test='on' ORDER BY dateCreated DESC" 
senaste.Open query, Connect 
Set RecSet = Server.CreateObject("ADODB.Recordset") 

SQL = "DELETE FROM items WHERE dateCreated < #" & dateAdd("d",-30,Date) & "#" 
RecSet.Open SQL, Connect,1,2 
Do Until senaste.EOF 

response.write "<tr><td><a href=""detail.asp?item=" & senaste("id") & """>" & senaste("item") & "</a>"
response.write "</td><td> Categori:"

select case  senaste("category")
	case "categori1"
		response.write categori1
	case "categori2"
		response.write categori2
	case "categori3"
		response.write categori3
	case "categori4"
		response.write categori4
	case "categori5"
		response.write categori5
end select

response.write "</td><td>"
response.write " Pris:" & senaste("price") & " Kr </td></tr> 

senaste.MoveNext 
Loop 

senaste.Close 
Set senaste = Nothing 
%>
Medlem sedan feb. 20022 594 inlägg
#8

Schysst att du orkar ändra i hans kod, Solbulle. Sånt orkar jag inte med. Får bättra mig.

*Bortse från detta meddelande, som egentligen, inte har nån mening.* Eller jo, en hyllning till Solbulle är det ju ;)

Medlem sedan juni 200032 967 inlägg
#9
select case  senaste("category")
	case "categori1"
		response.write categori1
	case "categori2"
		response.write categori2
	case "categori3"
		response.write categori3
	case "categori4"
		response.write categori4
	case "categori5"
		response.write categori5
end select

Borde kunna ersättas med:

Response.write eval(senaste("category"))

Mvh,

Medlem sedan mars 20015 287 inlägg
#10

Hupp, ehurm... jo det skulle man nog kunna göra, snacka om smidigt. :)
Men ni fattar principen va? :e

Medlem sedan aug. 2002218 inlägg
#11

Tack för all tips!
Men frågan är finns det någon som kan implementera nuvarande kod till Pagin som visar 20 sidor och 20 till med nästa knapp också vidare.
<%
Dim connect, query, senaste, test
set connect = server.createobject("ADODB.connection")
Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db/annonser.mdb") & ";pwd=;"
Set senaste = Server.CreateObject("ADODB.Recordset")
query = "SELECT * FROM items Where test='on' ORDER BY dateCreated DESC"
senaste.Open query, Connect
Set RecSet = Server.CreateObject("ADODB.Recordset")

SQL = "DELETE FROM items WHERE dateCreated < #" & dateAdd("d",-30,Date) & "#"
RecSet.Open SQL, Connect,1,2
Do Until senaste.EOF
%>

<tr>
<td> <a href="detail.asp?item=<%=senaste("id")%>"><%=senaste("item")%></a>
</td>
<td> Categori:
<% if senaste("category")="categori1" then %>
<%=categori1%>
<% elseif senaste("category")="categori2" then %>
<%=categori2%>
<% elseif senaste("category")="categori3" then %>
<%=categori3%>
<% elseif senaste("category")="categori4" then %>
<%=categori4%>
<% elseif senaste("category")="categori5" then %>
<%=categori5%>
<% end if %>
</td>
<td> Pris: <%=senaste("price")%> Kr </td>
</tr>
<%

senaste.MoveNext
Loop
senaste.Close
Set senaste = Nothing
%>

Medlem sedan juni 20019 024 inlägg
Medlem sedan aug. 2002218 inlägg
#13

Hello!
Är det ingen som vågar sig på

Medlem sedan mars 20015 287 inlägg
#14

Har du försökt själv? Du har ju fått länkarna.

Medlem sedan aug. 2002218 inlägg
#15

Om du bara viste hur mycket jag har kämpat, men jag lyckas inte att få det att funka
Snälla hjälp!

Medlem sedan mars 20015 287 inlägg
#16

Har gjort ett försök att implentera PatrikB's script på din kod, givetvis icke testad, men du kan ju pröva i alla fall.

<% 
Dim connect, query, senaste, test

'## -- hur många inlägg ska visas per sida --
intPageSize = 10

'## -- vilken sida ska visas --
intPage = Request.QueryString("page")

'## -- om ingen querystring med sidvärde hittas, visa då första sidan --
If intPage = "" Then intPage = 1

set connect = server.createobject("ADODB.connection") 
Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db/annonser.mdb") & ";pwd=;" 
Set senaste = Server.CreateObject("ADODB.Recordset") 
query = "SELECT * FROM items Where test='on' ORDER BY dateCreated DESC" 
'senaste.Open query, Connect

Set RecSet = Server.CreateObject("ADODB.Recordset") 
SQL = "DELETE FROM items WHERE dateCreated < #" & dateAdd("d",-30,Date) & "#" 
RecSet.Open SQL, Connect,1,2
	RecSet.Close
	Set RecSet= Nothing

		'## -- hur många poster ska visas per sida --
		senaste.PageSize = intPageSize
		
		'## -- öppna och hämta alla records --
		senaste.Open query, Connect, 3, 1	'Osäker på: , 3, 1 
		
		'## -- vilken sida i recordset uppdelningen ska visas --
		senaste.AbsolutePage = intPage
		
		'## -- hur många sidor finns i recordset uppdelningen --
		intTotalPages = senaste.PageCount
	
		If senaste.EOF Then
			Response.Write "Det finns inga inlägg."
		Else
			'## -- lista alla inlägg som finns i db --
			Do Until senaste.EOF or intRecordCount >= intPageSize
			
				intRecordCount = intRecordCount + 1

response.write "<tr><td><a href=""detail.asp?item=" & senaste("id") & """>" & senaste("item") & "</a>"
response.write "</td><td> Categori:"
Response.write eval(senaste("category"))
response.write "</td><td>"
response.write " Pris:" & senaste("price") & " Kr </td></tr> 

senaste.MoveNext 
Loop 
End If

	'## -- clean up --
	senaste.Close
	Set senaste= Nothing
	
	Connect.Close
	Set Connect= Nothing

'## -- visa sidnavigeringen --
'## -- intPage = vilken sida som ska visas --
'## -- intTotalPages = hur många sidor som recordsetet är uppdelat i --
Call PageNavigation(intPage, intTotalPages)

'## -- skapa sid-navigering --
Sub PageNavigation(ByVal WichPage, ByVal HowManyPages)
	Dim strScriptName
	
	'## -- vilken sida ska navigeringen länka till --
	strScriptName = Request.ServerVariables("SCRIPT_NAME")
	
	'## -- visa föregående, länkat eller olänkat beroende på vilken sida som visas --
	If CInt(WichPage) > 1 Then
		Response.Write "<A href='" & strScriptName & "?" & _
					"page=" & WichPage - 1 & "'><< Föregående</A> "
	Else
		Response.Write "<< Föregående "
	End If
	
	'## -- lista ut alla sidnummer --
	For I = 1 To HowManyPages
		If CInt(WichPage) <> I Then
			Response.Write "<A href='" & strScriptName & "?" & _
						"page=" & I & "'>" & I & "</A> "
		Else
			Response.Write "[ <B>" & I & "</B> ]"
		End If
	Next
	
	'## -- visa Nästa, länkad eller olänkad beroende på vilken sida som visas --
	If CInt(WichPage) < CInt(HowManyPages) Then
		Response.Write "<A href='" & strScriptName & "?" & _
					"page=" & WichPage + 1 & "'>Nästa >>"
	Else
		Response.Write "Nästa >>"
	End If
	
End Sub
%>
Medlem sedan aug. 2002218 inlägg
#17

Tack snälla
Mvh Ivar

Medlem sedan aug. 2002218 inlägg
#18

Tack tack Solbulle funkar fint.
MVH Ivar

258 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)