[ASP/SQL] Displayen van een bepaald aantal records*

Pagina: 1
Acties:

  • MMUilwijk
  • Registratie: Oktober 2001
  • Laatst online: 19:17
IK heb een ASP script waarmee ik vast stel dat er een bepaald aantal records
per keer mag worden getoond
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<HTML>
<HEAD>
<TITLE>Producten</TITLE>
</HEAD>
<BODY bgcolor="#CDD4E5">
<div align="center">
<font face="verdana">
<br>
<table border="0" bordercolor="black" cellpadding="5" cellspacing="1" valign="top">
<tr>
    <td colspan="5" height="20" bgcolor="FF9900"></td>
</tr>
<tr>
    <td height="20" bgcolor="#408CF7"><b>NR</b></td>
    <td bgcolor="#408CF7"><b>Fabrikant</b></td>
    <td bgcolor="#408CF7"><b>Artikelomschrijving</b></td>
    <td bgcolor="#408CF7"><b>Prijs in euro</b></td>
    <td bgcolor="#408CF7"><b>Voorraad</b></td>
</body></html>
<%
Dim artikel
artikel = request.Form("artikel")

'Connectie maken met database
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("groothandel.mdb") & ";"
Set rs = Server.CreateObject("ADODB.Recordset")

'Hoeveelheid records per pagina tonen
Const NumPerPage = 7

'kijken op welke pagina we zitten
If Request.QueryString("page") = "" then
    CurrentPage = 1 'We're on the first page
Else
    CurrentPage = CInt(Request.QueryString("page"))
End If

'Recordset opmaken
mySQL = "Select * from Artikel where categorie='" & artikel & "'"
rs.Open mySQL, conn, 1, 1   'Openen als ReadOnly anders werkt de hele zooi niet...

If Not rs.EOF Then
    rs.MoveFirst
    rs.PageSize = NumPerPage
    TotalPages = rs.PageCount

    'Absolute page neerzetten
    rs.AbsolutePage = CurrentPage
End If

Dim Count
%>
<%
'Linkje geven indien nodig, in dit geval vorige
If Not CurrentPage = 1 Then
    Response.Write "<a href='" & ScriptName & "?page=" & CurrentPage - 1 & "'>Vorige</a> | "
Else
    Response.Write "Vorige | "
End If

'Linkje geven indien nodig, in dit geval volgende
If Not CurrentPage = TotalPages Then
    Response.Write "<a href='" & ScriptName & "?page=" & CurrentPage + 1 & "'>Volgende</a>"
Else
    Response.Write "Volgende"
End If
%>

</b></font></p>
<p><b><font size="2" face="Verdana">Pagina <%=CurrentPage%> van <%=TotalPages%>:</font></b></p><p>

<%
'Data displayen
Do While Not rs.EOF and Count < rs.PageSize
    Response.Write ("<tr><td bgcolor=#FFCC66>"& rs("artikel_nr") & "</td>") 
    Response.Write ("<td bgcolor=#FFCC66>"& rs("fabrikant") & "</td>")
    Response.Write ("<td bgcolor=#FFCC66>"& rs("artikelomschrijving") & "</td>")
    Response.Write ("<td bgcolor=#FFCC66>"& rs("prijs_excl_btw") & "</td>")
    Response.Write ("<td bgcolor=#FFCC66>"& rs("aantal_in_voorraad") & "</td>")
        

    rs.MoveNext
    Count = Count + 1
Loop
%>


Dit werkt op zich prima, maarr....
als ik op volgende klik verdwijnt opeens alle data, m.a.w. de variabele wordt leeggeknikkerd.
Geef ik artikel een vaste waarde, bijvoorbeeld "kasten", dan werkt ie perfect.
Kan iemand mij vertellen waarom die variabele wordt leeggeknald ?

Everytime I suffer I become a better man because of it


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:55

gorgi_19

Kruimeltjes zijn weer op :9

Als eerste: Codetags zijn met [ i.p.v. <. En zet [ASP/SQL] in je titel, kunnen mensen topics sneller filteren.

Nu je antwoord:

Omdat volgende door middel van een href naar de volgende pagina gaat. artikel wordt opgehaald door middel van POST-data en deze is niet voorhanden.

Soort oplossing:
code:
1
2
3
4
5
6
7
Dim artikel
artikel = request.Form("artikel")
If artikel = "" Then
    artikel = Replace(Request.Querystring("rpd"),"'","''")
End if
..
Response.Write "<a href='" & ScriptName & "?page=" & CurrentPage + 1 & "&rpd=" & rpd"'>Volgende</a>"


Het geeft je in ieder geval een idee hoe het wel kan werken.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
Titel even gemod.

https://fgheysels.github.io/


Verwijderd

Of je kan dan ook Request("artikel") doen. kijkt eerst of de variabele voorkomt in de form (moet dmv een post van een form gebeuren) en zo niet dan in de querystring.