paging+asp

Πληροφορίες σχετικές με την ASP, ASP.NET και με τις εφαρμογές που είναι γραμμένες με αυτήν.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
grigoria
Δημοσιεύσεις: 22
Εγγραφή: 26 Ιούλ 2004 15:07

paging+asp

Δημοσίευση από grigoria » 22 Σεπ 2004 12:30

θέλω να κάνω paging όχι
σε όλες τις εγγραφες του πινακα
της βασης μου άλλα σε συγκεκριμένες
εγγραφες (SQL=select * from pinaka where id="kati)
δεν τα καταφέρνω ή κανω paging σε όλο το πινακα της
βασης αγνοώνταs το where ή μου εμφανίζει μόνο τη
πρώτη σελίδα απο τις δυο ή τρεις πχ που πρεπει
γιατι;;;;;

Άβαταρ μέλους
GhostShip
Δημοσιεύσεις: 338
Εγγραφή: 30 Σεπ 2003 09:57
Τοποθεσία: Αθήνα

paging+asp

Δημοσίευση από GhostShip » 27 Σεπ 2004 19:00

Μπορείς ενδεικτικα να μας δείξεις τον κώδικα, ώστε να σου πούμε ακριβώς τι συμβαίνει και όχι να ψάχνουμε ψύλλους στα άχυρα?

πολλά μπορούν να συμβαίνουν, είτε με τις παραμέτρους που έχεις και δεν τις περνάς από την μία σελίδα στην άλλη ή πρόβλημα του κώδικα...αν και πιστεύω οτι ξεχνάς να περάσεις κάποια παράμετρο από την μία στην άλλη σελίδα...
Εικόνα

grigoria
Δημοσιεύσεις: 22
Εγγραφή: 26 Ιούλ 2004 15:07

paging+asp

Δημοσίευση από grigoria » 28 Σεπ 2004 15:22

ok kala les
o kodikas

Κώδικας: Επιλογή όλων

<%@ language="VBScript" %>


<html>
<head>
<title>ADO</title>


<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-7">
<link rel="stylesheet" type="text/css" href="myStyle.css">
<style type="text/css">
.header &#123;
   width&#58;100%; font&#58;bold 8pt verdana; color&#58;#033; filter&#58;shadow&#40;color=#cccccc&#41;; padding-left&#58;10&#125;
.desc &#123;
   font&#58;7pt arial; margin-bottom&#58;10&#125;
.specs &#123;
   background&#58;#fffffff; border&#58;1px inset; padding&#58;5&#125;
</style>
</head>

<body bgcolor="#FFFFFF">


<div class="header"><h3>ADO Primer&#58; <span class="hilite">Navigating thru a Recordset</span></h3></div>

<div align="center"> 
  <% 
if request.QueryString&#40;"id"&#41;<>"" then
	strSearch=Request.QueryString&#40;"id"&#41;

Set objConn = Server.CreateObject&#40;"ADODB.Connection"&#41;
	objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath&#40;"database/lbb.mdb"&#41;
	objConn.Open
set recSet=Server.CreateObject&#40;"ADODB.Recordset"&#41;
Sql="SELECT * FROM Products "
	
recSet.CursorLocation = 3	'adUseClient
recSet.CursorType = 3		'adOpenStatic
recSet.ActiveConnection = objConn
recSet.Open Sql,objConn
recSet.filter="id_parent="& strSearch 

recSet.PageSize=5


'get current page
if not isEmpty&#40;Request.QueryString&#40;"pageno"&#41;&#41; then pageno=Request.QueryString&#40;" pageno"&#41; else pageno=1 %>
  <% links="<p>"
for page =1 to recSet.PageCount
   links=links & "<a href='productst.asp?pageno=" &page& "'>"& page  &"</a>"
   if strSearch< recSet.PageCount then links=links & " &nbsp; &nbsp; "
next
links=links & "</p>"
response.write links %>


  <table width=90% cellspacing=1 cellpadding=5 border=0>

<tr>
  
   
   <th>Product Description</th>
   <th>Unit Price</th></tr>
<% recSet.AbsolutePage=pageno

for intRecord=1 to recSet.PageSize %>
   <tr valign="top">

      <td><%= recSet&#40;"item_description"&#41;%></td>
      <td align="right"><%= recSet&#40;"item_price1"&#41;%></td></tr>
   <!-- next record=next table -->
   <% 

   recSet.MoveNext
   if recSet.EOF then exit for
   next %>
</table>



<%

 recSet.Close
set recSet=Nothing

objConn.Close
set objConn=Nothing 
end if 

%>
</div>

<br>
<hr size=1 width=90%>



</body>
</html>
ta link 1,2,3 pages dev douleuoun
to query pisteuo einai ok an mporeis
dioti kai arxaria....

Άβαταρ μέλους
GhostShip
Δημοσιεύσεις: 338
Εγγραφή: 30 Σεπ 2003 09:57
Τοποθεσία: Αθήνα

paging+asp

Δημοσίευση από GhostShip » 28 Σεπ 2004 18:28

Λοιπόν, βρήκα 3 λάθη...

Καταρχήν όταν πρωτοφορτώνεις την σελίδα, κάνεις ένα request για το Querrystring με παράμετρο το id. Έτσι που έχεις δομήσει την σελίδα σου, πρέπει ΟΠΟΣΔΗΠΟΤΕ να περνάς την παράμετρο στο URL. Αλλοιώς δεν τρέχει το SQL...

Επιπλέον δεν είχες βάλει τα παρακάτω που απαιτούνται:
CacheSize και AbsolutePage

ένα ακόμα λάθος ήταν οτι δεν πέρναγεs στο links την παράμετρο id οπότε την πρώτη φορά που θα πάταγες πάνω σε έναν αριθμό σελίδας δεν θα σου έβγαζε κανένα αποτέλεσμα.

Πήρα το θάρος και σου διόρθωσα λίγο τον κώδικα και προσέθεσα κάποια πραγματάκια. Δες παρκάτω... σου έχω μαρκάρει τί προσέθεσα και τί άλλαξα..


Κώδικας: Επιλογή όλων

<%@ language="VBScript" %> 
<html> 
<head> 
<title>ADO</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-7"> 
<link rel="stylesheet" type="text/css" href="myStyle.css"> 
<style type="text/css"> 
.header &#123; 
   width&#58;100%; font&#58;bold 8pt verdana; color&#58;#033; filter&#58;shadow&#40;color=#cccccc&#41;; padding-left&#58;10&#125; 
.desc &#123; 
   font&#58;7pt arial; margin-bottom&#58;10&#125; 
.specs &#123; 
   background&#58;#fffffff; border&#58;1px inset; padding&#58;5&#125; 
</style> 
</head> 

<body bgcolor="#FFFFFF"> 


<div class="header"><h3>ADO Primer&#58; <span class="hilite">Navigating thru a Recordset</span></h3></div> 

<div align="center"> 
  <% 
if request.QueryString&#40;"id"&#41;<>"" then 
   strSearch=Request.QueryString&#40;"id"&#41; 

Set objConn = Server.CreateObject&#40;"ADODB.Connection"&#41; 
   objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath&#40;"database/lbb.mdb"&#41; 
   objConn.Open 
set recSet=Server.CreateObject&#40;"ADODB.Recordset"&#41; 
Sql="SELECT * FROM Products " 
    
recSet.CursorLocation = 3   'adUseClient 
recSet.CursorType = 3      'adOpenStatic 
recSet.ActiveConnection = objConn 
recSet.Open Sql,objConn 
recSet.filter="id_parent="& strSearch 

' allages by Ghostship
If Request&#40;"pageno"&#41; = "" Then
		PageCurrent = 1
	Else
		PageCurrent = CInt&#40;Request&#40;"pageno"&#41;&#41;
	End If

recSet.PageSize=5 
totalpages = recSet.pagecount
recSet.CacheSize=5
' telos allagwn apo GhostShip


'get current page 
'allagh bY GhostShip&#58; sto telos diegrapsa to ELSE PAGENO=1
if not isEmpty&#40;Request.QueryString&#40;"pageno"&#41;&#41; then pageno=Request.QueryString&#40;" pageno"&#41; %> 
  <% links="<p>"
  'ALLAGH BY GHOSTSHIP&#58; EBALA ANTI GIA recSet.PageCount TO totalpages
for page =1 to totalpages 
  'ALLAGH BY GHOSTSHIP&#58; PROSETHESA TO &menu_parent="&strSearch&" META TO PAGE MESA STO LINK
   links=links & "<a href='productst.asp?pageno=" &page& "&menu_parent="&strSearch&"'>"& page  &"</a>" 
   if strSearch< recSet.PageCount then links=links & " &nbsp; &nbsp; " 
next 
links=links & "</p>" 
response.write links %> 


  <table width=90% cellspacing=1 cellpadding=5 border=0> 

<tr> 
  
    
   <th>Product Description</th> 
   <th>Unit Price</th></tr> 
<% 'allages apo GhostShip
recSet.AbsolutePosition = 1
recSet.AbsolutePage=PageCurrent
' telos allagw apo GhostShip

for intRecord=1 to recSet.PageSize %> 
   <tr valign="top"> 

      <td><%= recSet&#40;"item_description"&#41;%></td> 
      <td align="right"><%= recSet&#40;"item_price1"&#41;%></td></tr> 
   <!-- next record=next table --> 
   <% 

   recSet.MoveNext 
   if recSet.EOF then exit for 
   next %> 
</table> 



<% 

 recSet.Close 
set recSet=Nothing 

objConn.Close 
set objConn=Nothing 
end if 

%> 
</div> 

<br> 
<hr size=1 width=90%> 



</body> 
</html>
Αν δεις οτι πάλι σεν παίζει κάτι δοκίμασε να βγάλεις τα

Κώδικας: Επιλογή όλων

recSet.CursorLocation = 3   'adUseClient 
recSet.CursorType = 3      'adOpenStatic 

Ελπίζω να σε βοήθησα.
Φιλικά Χρήστος
Εικόνα

grigoria
Δημοσιεύσεις: 22
Εγγραφή: 26 Ιούλ 2004 15:07

paging+asp

Δημοσίευση από grigoria » 29 Σεπ 2004 10:59

ευχαριστώ πολύ χρήστο για τη βοήθεια σου
έκανα ότι μου έιπες αλλά και πάλι δεν δουλεύουν
ta links ότα κάνω κλικ πάνω στο 1 'η 2 πχ
αντι να μου βγάλει τη πρωτη ή δευτερη σελιδα μου
βγαζει κενη σελίδα χωρις εγγραφές ενώ πανω στη
μπαρα διευθύνσεως έχει το σωστό ιd που πέρνει απο
την προηγούμενη σελίδα . Επίσης όταν παταω στα Hyperlinks εμφανίζεται ή σελιδα κανονικα με τις πεντε εγγραφες τα LINKS δεν λειτουργουν !!!

grigoria
Δημοσιεύσεις: 22
Εγγραφή: 26 Ιούλ 2004 15:07

paging+asp

Δημοσίευση από grigoria » 29 Σεπ 2004 11:04

hyperlinks εννοώ της προηγούμενης σελίδας που οδηγουν
σε αυτή που αναφερόμαστε

Άβαταρ μέλους
GhostShip
Δημοσιεύσεις: 338
Εγγραφή: 30 Σεπ 2003 09:57
Τοποθεσία: Αθήνα

paging+asp

Δημοσίευση από GhostShip » 29 Σεπ 2004 13:57

Λοιπόν, κάνε το εξής:

Βγάλε από τον κώδικά σου το

Κώδικας: Επιλογή όλων

recSet.filter="id_parent="& strSearch
Επίσης, κάνε το εξής:
αντί για

Κώδικας: Επιλογή όλων

recSet.Open Sql,objConn
γράψε

Κώδικας: Επιλογή όλων

recSet.open Sql, objConn, 3 ,1, AdCmdText
Λογικά θα παίξει, αν έχεις καποιο άλλο πρόβλημα εδώ είμαστε

Φιλικά, Χρήστος
Εικόνα

grigoria
Δημοσιεύσεις: 22
Εγγραφή: 26 Ιούλ 2004 15:07

paging+asp

Δημοσίευση από grigoria » 30 Σεπ 2004 15:32

χρήστο έκανα και αυτές τις αλλαγές που μου ειπες και πάλι τα ιδια
αν βγάλω βέβαια το filter παίζει αλλα μου εμφανίζει όλες τις εγγραφές
του πίνακα που είναι 6000 και δεν το θέλω
θέλω αυτή ή σελίδα να προέρχεται απο άλλη μέσω hyperlink
η οποία τα ταξινομεί ανα μαρκα
έχω να σου δείξω εναν άλλο κωδικα ο οποίος
δουλεύει αλλα εμφανιζει κάθε εγγραφη μια μια στη σελίδα
και δουλευουν τα κουμπιά κανονικα first / last /next/previous
μηπως μπορούμε να το κάνουμε με paging vα εμφανίζονται
4 εγγραφές στη κάθε σελίδα τι λες?????

Κώδικας: Επιλογή όλων

%@ language="VBScript" %> 
<html> 
<head> 
<title>ADO</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-7"> 
<link rel="stylesheet" type="text/css" href="myStyle.css"> 
<style type="text/css"> 
.header &#123; 
   width&#58;100%; font&#58;bold 8pt verdana; color&#58;#033; filter&#58;shadow&#40;color=#cccccc&#41;; padding-left&#58;10&#125; 
.desc &#123; 
   font&#58;7pt arial; margin-bottom&#58;10&#125; 
.specs &#123; 
   background&#58;#fffffff; border&#58;1px inset; padding&#58;5&#125; 
</style> 
</head> 

<body bgcolor="#FFFFFF"> 


<div class="header"><h3>ADO Primer&#58; <span class="hilite">Navigating thru a Recordset</span></h3></div> 

<div align="center"> 
  <% 
if request.QueryString&#40;"id"&#41;<>"" then 
   strSearch=Request.QueryString&#40;"id"&#41; 

Set objConn = Server.CreateObject&#40;"ADODB.Connection"&#41; 
   objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath&#40;"database/ldb.mdb"&#41; 
   objConn.Open 
set recSet=Server.CreateObject&#40;"ADODB.Recordset"&#41; 
Sql="SELECT * FROM Products"
    
recSet.CursorLocation = 3   'adUseClient 
recSet.CursorType = 3      'adOpenStatic 
recSet.ActiveConnection = objConn 
recSet.open Sql, objConn, 3 ,1, AdCmdText
recSet.filter="id_parent="& strSearch

recno=Request.Form&#40;"recno"&#41;

if Request.Form&#40;"cmdnext"&#41;<>"" then
   recSet.Move recno-1
   recSet.MoveNext
   if recSet.EOF then recSet.MovePrevious
elseif Request.Form&#40;"cmdback"&#41;<>"" then
   recSet.Move recno-1
   recSet.MovePrevious
   if recSet.BOF then recSet.MoveNext
elseif Request.Form&#40;"cmdfirst"&#41;<>"" then
   recSet.MoveFirst
elseif Request.Form&#40;"cmdlast"&#41;<>"" then
   recSet.MoveLast
end if %>

<form method="post">
   <hr size=1 width=90%>
   <table width=90% cellspacing=0 cellpadding=3 border=0>
   <tr>
      <td><b>Record Number <%= recSet.AbsolutePosition %> of <%= recSet.RecordCount %></b></td>
      <td align="right"><input type="hidden" name="recno" value="<%= recSet.AbsolutePosition %>">
      <input type="submit" name="cmdfirst" value="First">
      <input type="submit" name="cmdback" value="Back">
      <input type="submit" name="cmdnext" value="Next">
      <input type="submit" name="cmdlast" value="Last"></td></tr>
   </table>
   <hr size=1 width=90%>
</form>

 <table width=90% cellspacing=1 cellpadding=5 border=0> 

<tr> 
  
    
   <th>Product Description</th> 
   <th>Unit Price</th></tr> 



   <tr valign="top"> 

      <td><%= recSet&#40;"item_description"&#41;%></td> 
      <td align="right"><%= recSet&#40;"item_price1"&#41;%></td></tr> 
   <!-- next record=next table --> 




</table> 




<% 

 recSet.Close 
set recSet=Nothing 

objConn.Close 
set objConn=Nothing 
end if 

%> 
</div> 

<br> 
<hr size=1 width=90%> 



</body> 
</html>

Άβαταρ μέλους
EneMe
Super Moderator
Δημοσιεύσεις: 13307
Εγγραφή: 09 Ιούλ 2002 13:29
Τοποθεσία: Στο κέντρο της Ελλάδας!
Επικοινωνία:

paging+asp

Δημοσίευση από EneMe » 30 Σεπ 2004 15:38

Παρακαλώ να χρησιμοποιούμε το [cοde]Μπλα μπλα μπλα[/cοde]!

Υγ: Διόρθωσα το ακριβώς από πάνω post.

grigoria
Δημοσιεύσεις: 22
Εγγραφή: 26 Ιούλ 2004 15:07

paging+asp

Δημοσίευση από grigoria » 30 Σεπ 2004 16:11

συγνωμη δεν καταλαβα ποιο διορθωσες
και που???/

Άβαταρ μέλους
EneMe
Super Moderator
Δημοσιεύσεις: 13307
Εγγραφή: 09 Ιούλ 2002 13:29
Τοποθεσία: Στο κέντρο της Ελλάδας!
Επικοινωνία:

paging+asp

Δημοσίευση από EneMe » 30 Σεπ 2004 16:17

Όταν θέλουμε να βάλουμε στο μήνυμά μας κάποιον κώδικα, καλό είναι να χρησιμοποιήσουμε το CODE TAG!

Παράδειγμα:

[cοde]<html><head></head><body></body></html>[/cοde]

Kατάλαβες; Εσύ στο προηγούμενο post σου δεν το είχες χρησιμοποιήσει αυτό, το πρόσθεσα εγώ... :wink:

grigoria
Δημοσιεύσεις: 22
Εγγραφή: 26 Ιούλ 2004 15:07

paging+asp

Δημοσίευση από grigoria » 30 Σεπ 2004 16:30

ok thanks

Απάντηση

Επιστροφή στο “ASP, ASP.NET”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες