Tableau limiter en asp

cs_mael974 Messages postés 108 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 10 mars 2011 - 14 juin 2005 à 12:25
cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 - 29 juin 2005 à 22:49
bonjour
je developpe une base de donneé CIndoc avec une interface asp !!
Les reponses de mes requetes sont inserées ds un tableaux ( html ); je voudrais limiter l affiche du tableau a 10 reponses et la suite des resultats accessible en clikant sur "suivant" ( a la maniere dune boite mail )!!! Le tt afin de ne pas avoir 10 km de page a defiler !!!
je vous remercie

> MaEl <

9 réponses

cs_mael974 Messages postés 108 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 10 mars 2011
14 juin 2005 à 12:28
> MaEl <
0
cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 4
14 juin 2005 à 15:45
eh bien ça dépend de la façon dont tu insère les données dans le tableau html

(tu pourrais nous montrer un petit bout de code ?)



Je suppose que tu utilises une boucle pour afficher ligne par ligne les résultats des requêtes de ta BD.

Dans ce cas tu fais un "break", tu termines le tableau html et tu met
un lien "suivant" quand le nombre d'enregistrement atteint un certain
nombre. Le lien pointe sur lui-même avec un query-string
"id=le_numero_de_la_page" et avant la boucle tu test si id existe, si
oui tu affiche la page correspondante.



c'est assez basic mais ça donne une idée de départ !


Nurgle
C'est une grande folie que de vouloir être sage tout seul !
0
cs_mael974 Messages postés 108 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 10 mars 2011
15 juin 2005 à 07:37
Merci pr l info jy vois un peu + clair ms bon......reste a voir limplementation du code . voici un bout de code de ma page asp :


if ok="on" Then
isql =" select Désign,Série,Fourn,Agent from SIPANNE_BINDERS where Fourn='*' NOT Fourn=''"
RS.Open isql,session ("dbconn") %>


<table width = "100%">


<tr>


<th width="2%" bgcolor=#993333> </th>


<th width="20%" bgcolor=#993333> Désignation </th>


<th width="20%" bgcolor=#993333> Série </th>


<th width = "18%" bgcolor=#993333> Fournisseur </th>


<th width = "20%" bgcolor=#993333> Agent </th>


</tr>


<%


if not RS.EOF then


RS.MoveFirst


do while not RS.EOF%>


<tr>
<td valign="middle" align="center" bgcolor=#FFCC00>[Fiche_mat.asp?mat=<%=Rs( " ] </td>


<td bgcolor=#FFCC00> <%=RS("Désign")%> </td>


<td valign="middle" align="center" bgcolor="#FFCC00"> <%=RS("Série")%> </td>


<td valign="middle" align="center" bgcolor="#FFCC00"> <%=RS("Fourn")%> </td>


<td valign="middle" align="center" bgcolor="#FFCC00"> <%=RS("Agent")%> </td>


</tr>
<%
RS.MoveNext
Loop
End if
end if
Set RS=nothing
%>

> MaEl <
0
cs_mael974 Messages postés 108 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 10 mars 2011
15 juin 2005 à 07:40
Merci pr l info jy vois un peu + clair ms bon......reste a voir limplementation du code . voici un bout de code de ma page asp :


if ok="on" Then
isql =" select Désign,Série,Fourn,Agent from SIPANNE_BINDERS where Fourn='*' NOT Fourn=''"
RS.Open isql,session ("dbconn") %>


<table width = "100%">


<tr>


<th width="2%" bgcolor=#993333> </th>


<th width="20%" bgcolor=#993333> Désignation </th>


<th width="20%" bgcolor=#993333> Série </th>


<th width = "18%" bgcolor=#993333> Fournisseur </th>


<th width = "20%" bgcolor=#993333> Agent </th>


</tr>


<%


if not RS.EOF then


RS.MoveFirst


do while not RS.EOF%>


<tr>
<td valign="middle" align="center" bgcolor=#FFCC00>[Fiche_mat.asp?mat=<%=Rs( " ] </td>


<td bgcolor=#FFCC00> <%=RS("Désign")%> </td>


<td valign="middle" align="center" bgcolor="#FFCC00"> <%=RS("Série")%> </td>


<td valign="middle" align="center" bgcolor="#FFCC00"> <%=RS("Fourn")%> </td>


<td valign="middle" align="center" bgcolor="#FFCC00"> <%=RS("Agent")%> </td>


</tr>
<%
RS.MoveNext
Loop
End if
end if
Set RS=nothing
%>

> MaEl <
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 4
15 juin 2005 à 14:05
eh bien tu fais un truc dans ce genre là :



'en haut de la page un truc dans ce genre là

Dim page 'la page en cours

Dim Nbenregist = 11 ' nombre d'enregistrement par pages + 1

If Request.QueryString("page") <> "" Then

page = Request.QueryString("page")

Else

page = 1

End If


'tu transforme ta boucle "do while" en boucle "For" :

Dim i = 1

For i To Nbenregist

If Rs.EOF = True Then Exit For

If page = 1 Then

Rs.MoveFist

Else

Rs.Move ((page*Nbenregist) - Nbenregist - (page - 2)) 'affichage des bons enregistrement



'tout le traitement sur l'enregistrement en cours

Rs.MoveNext

Next

'et à la fin tu rajoute des liens dans ce genre là :

%>

[cettepage.asp?page=<%=page + 1 %> Page Suivante]



en gros c'est ça. ça fait que la 1ère page affiche les enregistrements de 1 à 10, la 2e de 11 à 20, ...etc



(pour le RS.Move suivit d'un chiffre, je sais que certaines BD ne l'aiment pas trop...)


Nurgle
C'est une grande folie que de vouloir être sage tout seul !
0
cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 4
15 juin 2005 à 14:07
une petite erreur :

C'est For i To (NBenregist - 1)



(j'avais oublié le - 1 )


Nurgle
C'est une grande folie que de vouloir être sage tout seul !
0
cs_mael974 Messages postés 108 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 10 mars 2011
15 juin 2005 à 14:59
> MaEl <
0
cs_mael974 Messages postés 108 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 10 mars 2011
17 juin 2005 à 08:21
salut eh bein g tester ms ca ne marche pas, peut etre ais je omis une instruction ms jai suivi pas a pas t conseil ms en vain :
(l integraliter du code ) (sachant que la page en cours sappel fiche_fourn.asp):


<%@ LANGUAGE="VBScript"%>


<%Response.buffer=false%>


<HTML>


<HEAD>


<TITLE>Fiche</TITLE>


</HEAD>




<!--#include file="normes.inc"-->


<%


Dim fiche_fourn.asp
Dim Nb=11

if Resquest.QueryString("fiche_fourn.asp")<>"" Then
fiche_fourn.asp = Resquest.QueryString("fiche_fourn.asp")
Else
fiche_fourn.asp = 1
end if


ok = Request.Form("ok")


Fourn= Request.Form("Fourn")


if Fourn="" then


Response.Write "Sélectionnez un fournisseur"


Response.End


end if


set RS =Server.CreateObject("ADODB.Recordset") '=== BINDERS


RS.CursorLocation = adUseClient


RS.LockType = adLockReadOnly


if ok="on" Then


isql =" select Désign,Série,Fourn,Agent from SIPANNE_BINDERS where Fourn='*' NOT Fourn=''"


RS.Open isql,session ("dbconn") %>


<table width = "100%">


<tr>


<th width="2%" bgcolor=#993333> </th>


<th width="20%" bgcolor=#993333> Désignation </th>


<th width="20%" bgcolor=#993333> Série </th>


<th width = "18%" bgcolor=#993333> Fournisseur </th>


<th width = "20%" bgcolor=#993333> Agent </th>


</tr>


<%


if not RS.EOF then




Dim i =1


For i to (nb -1 )


if RS.EOF= True Then Exit For


if fiche_fourn.asp=1 Then


RS.MoveFirst


else


RS.Move (( fiche_fourn.asp*nb) - nb - (fiche_fourn.asp - 2 ))


%>


<tr>


<td valign="middle" align="center" bgcolor=#FFCC00>[Fiche_mat.asp?mat=<%=Rs( " ] </td>


<td bgcolor=#FFCC00> <%=RS("Désign")%> </td>


<td valign="middle" align="center" bgcolor="#FFCC00"> <%=RS("Série")%> </td>


<td valign="middle" align="center" bgcolor="#FFCC00"> <%=RS("Fourn")%> </td>


<td valign="middle" align="center" bgcolor="#FFCC00"> <%=RS("Agent")%> </td>


</tr>


<%


RS.MoveNext


Next
End if
end if
end if
end if
Set RS=nothing
%>
" >page suivante

> MaEl <
0
cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 4
29 juin 2005 à 22:49
c'est très précis le "ça marche pas" !!

Tu as quoi exactement ? une erreur ?



En fait je pense que c'est le "RS.Move" qui ne va pas. cette commande
ne marche pas avec toutes les DB, en tout cas je sais qu'elle marche
avec SQLServer, et qu'elle marche pas avec Access...)



je vais voir mais ça va être plus dur sans...

Nurgle
C'est une grande folie que de vouloir être sage tout seul !
0
Rejoignez-nous