passage de variable d'une page à l'autre [ASP] - ASP - Programmation
Marsh Posté le 12-08-2008 à 16:22:52
Le plus simple est que tu passe ton formulaire en GET (au lieu de POST) et que dans le liens vers la seconde page (la suite des resultats) tu reimprime les arguments GET que tu as recu et un element GET en plus que tu redetectera pour connaitre la suite.
Par exemple :
Premiere requete connexion.asp?recherche=prout
Cette page imprime un lien vers connexion.asp?recherche=prout&start=5
Il ne re restera plus qu'a detecter le start et d'incrementer a chaque fois.
Marsh Posté le 14-08-2008 à 09:59:23
le plus simple c'est de faire une pagination !
http://www.asp-php.net/tutorial/asp-php/pagination.php
Marsh Posté le 17-08-2008 à 10:38:14
Bonjour,
flyman30 c'est le script que j'utilise....
H4rold j'y arrive pas je vais mettre nombre de résultats = 100 ou plus et je laisserai comme cela.
Merci à vous
Marsh Posté le 17-08-2008 à 21:16:47
extra a écrit : Bonjour, |
Ce code fonctionne très bien, tu as forcément fait une erreur de copié/collé je regarderais demain..
Bizarre je viens d'aller sur ton lien et la pagination fonctionne !?
Marsh Posté le 18-08-2008 à 10:51:48
Bonjour,
La pagination fonctionne avec un tri fixe.
C'est a dire trier l'historique par nom ou année
Code :
|
Pour la fonction rechercher :
Par contre pour trier avec le résultat du formulaire à la deuxième pas pagination il retombe sur :
Code :
|
et comme le formulaire a déjà été lu il n'y a plu rien et erreur "vous n'avez rien entré....
Il faudrait passer me paramètre mot1 d'une page à l'autre...
j'ai essayé avec GET, mais d'entée plus aucune page ne fonctionne il y a surement une syntaxe à changer et comme j'ai je suis pas doué pour cela
Marsh Posté le 19-08-2008 à 20:13:35
salut flyman30,
si tu peux être un peu plus explicite
je le mets ou session("mot1" ) = mot1
merci
Marsh Posté le 20-08-2008 à 09:26:49
Tu as dans ton code
Code :
|
Fait :
Code :
|
Il te suffit de faire la recherche sur session("mot" ) puisque c'est en mémoire tant que la session est valide.
Marsh Posté le 20-08-2008 à 12:27:02
tu m'as donné une idée, mais ça ne garde toujours pas la variable "mot"
Le formulaire de recherche appelle : listR.asp
Code :
|
Dans le fichier res_recherche.asp, je fais l'affichage paginé avec le critère de recherche "mot" sauf que "mot" est vide...
Marsh Posté le 20-08-2008 à 15:08:27
j'ai trouvé :
dans la récupération du formulaire comme tu disais
Code :
|
et dans le fichier d'affichage,
Code :
|
Par contre j'ai encore un bug
dans le cas ou on trouve rien j'ai une erreur...
Marsh Posté le 20-08-2008 à 19:05:51
Il suffit de faire un if error then et tu affiche que rien n'a été trouvé
Marsh Posté le 14-12-2008 à 20:41:53
Il existe une méthod beaucoup plus simple pour cela, il te faut le fichier ADOVBS.inc que tu peu trouver ici http://www.academyx.com/resources/documents/adovbs.txt
tu renome le ficher en adovbs.inc et tu le met sur ton serveur web.
dans ta page asp, tu importe le fichier comme suit:
<!--#include file=adovbs.inc-->
Ce fichier te permettra de faire ta pagination sans effort ou presque.
Exemple de code :
<!--#include file=adovbs.inc-->
<%
Dim iPage, pageSize
' nécessaire pour pour la premiere page
If Request("page" ) = "" Then
iPage = 1
Else
iPage = Request("page" )
End If
' si tu veux que l'utilisateur choisisse lui même le nombre d'affichage par page
If Request("size" ) = "" Then
pageSize = 10
Else
pageSize = Request("size" )
End If
sql = "SELECT Caricature.PK, Caricature.Nom FROM Caricature ORDER BY Caricature.Ordre;"
'tu dois au moins mettre adOpenKeyset pour la pagination
rs.Open sql,cn,adOpenKeyset
'si ton rs est a EOF ça fait une erreur, donc on valide
If rs.EOF = False Then
rs.AbsolutePage = iPage
rs.PageSize = pageSize
Else
Response.Write "Aucune occurrence trouvé"
End If
%>
<form name=frm action=taPage.asp>
<table>
<tr><td>
<!--Afficher le nombre d'enregistrement trouvé-->
<%=rs.RecordCount & " caricatures"%>
</td><td>
<!--Navigation des pages avec un select-->
Page
<select name=page onChange="document.frm.submit()">
<%
'Création de la liste des pages par une boucle for
For i = 1 To rs.PageCount%>
<option value=<%=i%>><%=i%></option>
<%
Next%>
</select>
</td><td>
<!--Combien d'affichage par page-->
Nombre par page
<select name=size onChange="document.frm.submit()">
<%
'Création de la liste du nombre d'affichage par page
For i = 10 To 50 Step 10%>
<option value=<%=i%>><%=i%></option>
<%
Next%>
</td></tr>
</table>
<!--Affichage de la liste-->
<table>
<%
For i = 1 To rs.PageSize
'si on arrive à la fin du rs, on sort de la boucle
If rs.EOF = True Then Exit For%>
<tr><td>
<%=rs("PK" )%>
</td><td>
<%=rs("Nom" )%>
</td></tr>
<%
rs.MoveNext
Next%>
</table>
Marsh Posté le 12-08-2008 à 10:08:39
Bonjour,
Je suis loin d'être un pro en ASP (c'est pour cela que je sollicite votre aide...)
Sur une base de données, je voudrai faire une recherche par mot clé, et afficher le tout avec 5 résultats par pages.
La première page, ça fonctionne, mais les suivantes, ca bug c'est normal, car en rechargeant la page il fait la relecture du formulaire qui du coup est vide...
Comment faire S.V.P.
Merci
la page en question (le serveur est Down à l'heure ou j'écris mais cela ne devrait pas durer)http://www.ac-nancy-metz.fr/pres-e [...] /liste.asp
le code