webForumDet fria alternativet

Visa tio poster åt gången

ASP

7 svar · 290 visningar · startad av costodia

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

Jag har ett radaanonssystem problemet för mig är att nu måste besökaren ladda över 100 annonser och eftersom jag tänkte lägga in systemet i en table så undrar jag om någon vet hur jag kan göra så att bara besökaren ser 10 annonser åt gången, så här ser koden ut idag:

 <%

set rKategori = Request("kategori") ' Hämta annonskategorin
set rDagar = Request("dagar") ' Hur gamla får annonserna vara?

if rKategori = "" then
	rKategori = "Säljes"
end if

if rDagar = "" then
	rDagar="20"
end if

%>
<html>

<head>
<link REL="STYLESHEET" TYPE="TEXT/CSS" HREF="../godzilla/costodiamin.css">
<title>Hundbazar</title>
</head>

<!--#include virtual="/s1/incstats.asp"--> 
<%
StatLog
%> 
<body>

<h3>Titta på annonser i &quot;<%=rKategori%>&quot;</h3>

<form ACTION="show.asp" METHOD="POST">
  <b><p>Välj Kategori <select NAME="kategori" class="hundbazar" size="1">
    <option>Säljes</option>
    <option>Köpes</option>
    <option>Tillbehör</option>
    <option>Bortskänkes</option>
    <option>Fodervärdar</option>
    <option>Avel</option>
    <option>Planerade valpar</option>
    <option>Övrigt</option>
    <option>Efterlysningar</option>
    <option>Omplaceras</option>
    <option value="--">--</option>
    <option>Brevvänner</option>
  </select> </p>
  <p>Hur gamla får annonserna vara <select NAME="dagar" class="hundbazar" size="1">
    <option VALUE="1">1 dag </option>
    <option VALUE="10">10 dagar </option>
    <option VALUE="30">30 dagar </option>
  </select> </p>
  <p><input TYPE="SUBMIT" VALUE="Visa annonserna" class="hundbazar"> </p>
</form>
</b>

<p>&nbsp;</p>

<hr color="#808080" size="1">

<p><a HREF="enter.htm">Lägg in en ny annons</a> <%
MinstaDatum = DateSerial(year(date), month(date), day(date) - rDagar)

'Skapa ett databasobjekt
set DBConnection = Server.CreateObject("ADODB.Connection")

'Anslut till databasen med en fil-dsn
DBConnection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=d:\clients\costodia.com\scripts\hundbazar.mdb"

'skapa SQL-satsen vi använder för att infoga data
SQLstring = "SELECT * FROM radannonser WHERE kategori = '"&rKategori&"' and datum > "&MinstaDatum&" ORDER By datum DESC"

'Utför SQL-satsen och skapa ett recordset RS
set RS=DBConnection.Execute(SQLstring)

if RS.EOF then
	Response.Write("<H3>Inga annonser</H3>Det fanns inga annonser som passade in på din sökning.")
end if
Response.Write("<TABLE BORDER=0>")
do while not RS.EOF

	'Skapa ett svenskt datum oavsett systemets inställningar
	SvensktDatum=year(RS("datum"))&"-"&right("0"&month(RS("datum")),2)&"-"&right("0"&day(RS("datum")),2)
	Response.Write("<TD> "&SvensktDatum&"</TD><TD><B>"&RS("rubrik")&"</B></TD><TD><B>Namn:</B> "&RS("namn")&"</TD><TD><TR>")
	Response.Write("<TD COLSPAN=2 ROWSPAN=2><B>Annonstext:</B><BR>"&RS("annonstext")&"</TD><TD><B>Telefon:</B>"&RS("telefon")&"</TD><TR>")
	Response.Write("<TD><B>E-post:</B><A HREF='mailto:" & RS("epost") & "'>" & RS("epost") & "</A></TD><TR><TD COLSPAN = 3><HR></TD><TR>")

RS.MoveNext
Loop
Response.Write("</TABLE>")
RS.Close
set RS = Nothing

' Stäng databaskopplingsfanskapet
DBConnection.Close
set DBConnection = Nothing

%></p>

<table border="0" cellpadding="3" cellspacing="0">
  <tr>
    <td>Om du har fråger eller kommentarer skicka dem till<br>
    Webmaster: <a href="mailto:viveca_cecilia@hotmail.com">viveca_cecilia@hotmail.com</a>
    eller<br>
    Teknisk ansvarig: <a href="mailto:hundbazar@costodia.com">hundbazar@costodia.com</a> </td>
  </tr>
</table>

</body>
</html>

------------------
Mvh Martin Persson
www.Costodia.com

Medlem sedan dec. 19996 721 inlägg
Medlem sedan aug. 2000864 inlägg
#3

jag får upp felet
Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

/mailisar/testar.asp, line 15
http://www.costodia.com/mailisar/testar.asp koden på sidan ser ut så här

<table>
<%
mypage = Request("whichpage")
If mypage = "" then
   mypage = 1
End If
mypagesize = 10

SQL = "Select * From Radannonser Order by fält"

Set rstemp = Server.Createobject("ADODB.Recordset")
rstemp.cursorlocation = 3
rstemp.cachesize = 5
MdbFilePath = Server.MapPath("../../scripts/mailisar.mdb")
rstemp.open SQL, "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";"
If rstemp.EOF then
   Response.write "Där fanns det ju inget... " & sok
Else
   rstemp.movefirst
   rstemp.pagesize = mypagesize
   maxcount = Cint(rstemp.pagecount)
   rstemp.absolutepage = mypage
   howmanyrecs = 0
   howmanyfields = rstemp.fields.count -1
   Do While Not RStemp.EOF AND howmanyrecs < rstemp.pagesize
   counter = counter + 1
   If counter mod 2 = 0 then
      color = "CCCC99"
   Else
      color = "CCCC66"
   End If
   Response.write "<tr bgcolor='" & color & "'><td>" & RStemp("fält") & "</td></tr>"

   rstemp.movenext
   howmanyrecs = howmanyrecs + 1
   Loop
   rstemp.close
   Set rstemp = nothing
   %>
   <tr><td><hr></td></tr>
   <tr><td>
   <%
   If maxcount <> 0 then
   response.write "sida " & mypage & " av " & maxcount & "<br>" & sidor:
   pad = "0"
   scriptname = request.Servervariables("script_name")
   for counter = 1 to maxcount
   If counter >= 10 then
      pad = ""
   End If
   ref = "<a href='" & scriptname & "?whichpage=" & counter & "&pagesize=" & mypagesize & "'>" & pad & counter & "</a> "
   response.write ref & " "
   if counter mod 10 = 0 then
      response.write "<br>"
   End If
   Next
   End If
End If
%>
</td></tr>
</table>

fast jag kan inte se något fel i den raden rstemp.open SQL, "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";" ?
kolumnerna i databsens tabell heter

SvensktDatum=year(RS("datum"))&"-"&right("0"&month(RS("datum")),2)&"-"&right("0"&day(RS("datum")),2)
Response.Write("<TD> "&SvensktDatum&"</TD><TD><B>"&RS("rubrik")&"</B></TD><TD><B>Namn:</B> "&RS("namn")&"</TD><TD><TR>")
Response.Write("<TD COLSPAN=2 ROWSPAN=2><B>Annonstext:</B><BR>"&RS("annonstext")&"</TD><TD><B>Telefon:</B>"&RS("telefon")&"</TD><TR>")
Response.Write("<TD><B>E-post:</B><A HREF='mailto:" & RS("epost") & "'>" & RS("epost") & "</A></TD><TR><TD COLSPAN = 3><HR></TD><TR>")

ska jag lägga in dem någonstans?

Tack på förhand,

------------------
Mvh Martin Persson
www.Costodia.com

Medlem sedan dec. 19996 721 inlägg
#4

Du måste anpassa skriptet så att det passa din databas.

SQL = "Select * From Radannonser Order by fält"

och

RSTEmp("fält") lär ju inte funka så bra, t.ex.

Medlem sedan aug. 2000864 inlägg
#5

Nu uppstod ett annat problem, i det förra scriptet jag hade så hade jag
SQL = "Select * From Radannonser Order by datum" så att den senast inlägda annonsen kom först, nu är det precis tvärt om , så de annonser som är ett halvår gamla kommer först, finns dte något sätt att lösa detta på?

Tack på förhand,

------------------
Mvh Martin Persson
www.Costodia.com

Medlem sedan juli 2000221 inlägg
#6

är det inte datum Desc för att få de senaste?

Medlem sedan aug. 2000864 inlägg
#7

det funkade!
tack så mycket :-)

------------------
Mvh Martin Persson
www.Costodia.com

Medlem sedan aug. 2000526 inlägg
#8

plocka ut vad som finns 7 dagar framåt

fel av mig

273 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
132 ms — ändringar (db)