Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/05/2007, 10h17   #1
Membre du Club
 
Avatar de vever88
 
Étudiant
Inscription : avril 2007
Messages : 114
Détails du profil
Informations personnelles :
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 114
Points : 46
Points : 46
Par défaut tableau html et RecordSet



Je souhaiterais afficher mes recordsets(RS) dans un tableau sur deux ou trois colonnes de plusieurs lignes selon le nombre de RS.
Je veux un tableau dans cette configuration-ci:
Code :
1
2
3
4
5
6
---------------------
RS(1) / RS(2) / RS(3)
---------------------
RS(4) / RS(5) / RS(6)
---------------------
...
j'ai fais qlq chose comme ça :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 <TABLE Width="80%" Align="center" bgColor="#CCCCFF">
 
            <% DO UNTIL RS.EOF %>
                <TR>
 
                    <TD Align="center"><IMG SRC=<%=RS("0")%>> </TD>
                    <TD Align="center"><IMG SRC=<%=RS("1")%>> </TD>
                    <TD Align="center"><IMG SRC=<%=RS("2")%>> </TD>
 
                </TR>
            <%     RS.MoveNext 
	       LOOP 
            %>
        </TABLE>
Bien entendu le problème c'est la boucle... mais je ne vois pas comment faire
Sauriez-vous comment faire ?
__________________
Merci de votre aide
L'effet developpez.com :

Avec nos pensées, nous créons le monde. [Bouddha]
vever88 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2007, 15h19   #2
Membre du Club
 
Avatar de vever88
 
Étudiant
Inscription : avril 2007
Messages : 114
Détails du profil
Informations personnelles :
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 114
Points : 46
Points : 46
j'ai pensé à mettre un RecordSet.MoveNext entre chaque balises <TD>
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<TABLE Width="80%" Align="center" bgColor="#CCCCFF">
 
            <% DO UNTIL RS.EOF %>
                <TR>
 
                    <TD Align="center"><IMG SRC=<%=RS("0")%>> </TD>
                    <% RS.MoveNext %>
                    <TD Align="center"><IMG SRC=<%=RS("0")%>> </TD>
                    <% RS.MoveNext %>
                    <TD Align="center"><IMG SRC=<%=RS("0")%>> </TD>
 
                </TR>
            <%     RS.MoveNext 
	       LOOP 
            %>
        </TABLE>
Mais ça ne marche pas non-plus
__________________
Merci de votre aide
L'effet developpez.com :

Avec nos pensées, nous créons le monde. [Bouddha]
vever88 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2007, 16h28   #3
Expert Confirmé
 
Avatar de pc75
 
Inscription : septembre 2004
Messages : 2 810
Détails du profil
Informations personnelles :
Âge : 56
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2004
Messages : 2 810
Points : 3 011
Points : 3 011
Bonjour,

Tu veux essayer ça et nous donner le résultat ?

Code :
1
2
3
4
5
6
7
8
9
 
<% 
DO UNTIL RS.EOF
response.write "RS(0) = " & RS("0") & "<br>"
response.write "RS(1) = " & RS("1") & "<br>"
response.write "RS(2) = " & RS("2") & "<br>"
RS.MoveNext
LOOP 
%>
__________________
Par principe, je ne réponds pas aux messages URGENT.
Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
pc75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2007, 16h54   #4
Membre du Club
 
Avatar de vever88
 
Étudiant
Inscription : avril 2007
Messages : 114
Détails du profil
Informations personnelles :
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 114
Points : 46
Points : 46
Non ça ne marche pas,
on m'anonce une erreur à la ligne
Code :
response.write "RS(0) = " & RS("0") & "<br>"
Error ADO distant : impossible de trouver l'objet dans la collection correspondant au nom demandé ou la référence ordinale.
__________________
Merci de votre aide
L'effet developpez.com :

Avec nos pensées, nous créons le monde. [Bouddha]
vever88 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2007, 23h00   #5
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
Salut,

Tu peux peut-être essayer de t'inspirer de ceci (deux boucles imbriquées)
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<table border="1" cellspacing="0" cellpadding="3">
<%
i=1
FOR k = 1 to 17
	response.Write("<tr>" + Chr(13) + Chr(10))
	FOR j = 1 to 15
		response.Write("<td align=center valign=top nowrap>")
		response.Write("Chr(" & i &")<br>Ascii: " & Chr(i) & "<br>")
		response.Write("HTML: " & replace(server.HTMLEncode(Chr(i)),"&","&amp;") & "<br>")
		response.Write("URL: " & server.URLEncode(Chr(i)) & "</td>" + Chr(13) + Chr(10))
		i=i+1
	NEXT
	response.Write("</tr>" + Chr(13) + Chr(10))
NEXT
%>
</table>
A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2007, 10h03   #6
Membre du Club
 
Avatar de vever88
 
Étudiant
Inscription : avril 2007
Messages : 114
Détails du profil
Informations personnelles :
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 114
Points : 46
Points : 46
Bonjour et merci encore de votre aide

Alors j'ai essayé ceci:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<table Width="80%" Align="center">
		<%
		i=0
		FOR k = 1 to 2
			response.Write("<tr>")
			FOR j = 0 to 2
				response.Write("<TD Align=center>")
				response.Write("<IMG SRC="&RS(i)&"Width=60><BR></TD>")
				i=i+1
			NEXT
			response.Write("</tr>")
		NEXT
		%>
		</table>
Mais apparemment ce qui pose problème c'est le
Code :
response.Write("<IMG SRC="&RS(i)&"Width=60><BR></TD>")
En effet un simple
Code :
1
2
3
FOR i=0 to 2
   Response.Write(RS(i))
NEXT
est source d'erreur

Sauriez-vous ce qui pose problème
__________________
Merci de votre aide
L'effet developpez.com :

Avec nos pensées, nous créons le monde. [Bouddha]
vever88 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2007, 10h56   #7
Membre du Club
 
Inscription : février 2007
Messages : 172
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 172
Points : 44
Points : 44
apparement d'après les erreurs que tu décris, je pense que l'erreur ne vient pas de la boucle mais plutot de ton recordset.
En effet si tu écris rs("0"), alors ASP va chercher le champs 0 dans la requete que tu lui as spécifié, et d'après ton erreur ce champs n'existe pas!
Peux tu nous donner la requete ou la table que tu as mis dans ton recordset avec les champs stp Merci.
mohcultiv est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2007, 11h19   #8
Membre du Club
 
Avatar de vever88
 
Étudiant
Inscription : avril 2007
Messages : 114
Détails du profil
Informations personnelles :
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 114
Points : 46
Points : 46
Bonjour,

voila ma requète:
ma table contient 4 enregistrement.

MAIS si j'écris RS(0) ma page me renvois bien un champ (car les recordset sont numérotés de 0 à n)
Mais dès lors que je l'imbrique dans une boucle avec i comme paramètre on me spécifie une erreur
__________________
Merci de votre aide
L'effet developpez.com :

Avec nos pensées, nous créons le monde. [Bouddha]
vever88 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2007, 11h40   #9
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
La syntaxe est bonne. Toutefois
Code :
1
2
3
FOR i=0 to 2
   Response.Write(RS(i))
NEXT
Indique que tu veux les 3 premiers champs d'un engregistrement et non pas le premier champ de 3 enregistrements. Il ne faut pas oublier de bien placer le rs.movenext aussi.
Code :
1
2
3
4
FOR i=0 to 2
   Response.Write(RS(0))
   rs.movenext
NEXT
A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2007, 12h48   #10
Expert Confirmé
 
Avatar de pc75
 
Inscription : septembre 2004
Messages : 2 810
Détails du profil
Informations personnelles :
Âge : 56
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2004
Messages : 2 810
Points : 3 011
Points : 3 011
Citation:
Envoyé par vever88
Bonjour,

voila ma requète:
ma table contient 4 enregistrement.

MAIS si j'écris RS(0) ma page me renvois bien un champ (car les recordset sont numérotés de 0 à n)
Mais dès lors que je l'imbrique dans une boucle avec i comme paramètre on me spécifie une erreur

Les variables n'étant pas typées, peut être que ? (Mais j'en doute !)

Code :
1
2
3
4
 
FOR i=0 to 2
   Response.Write(RS(cint(i)))
NEXT
__________________
Par principe, je ne réponds pas aux messages URGENT.
Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
pc75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2007, 15h52   #11
Membre du Club
 
Avatar de vever88
 
Étudiant
Inscription : avril 2007
Messages : 114
Détails du profil
Informations personnelles :
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 114
Points : 46
Points : 46
Re

alors j'ai tester ceci:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<TABLE Width="32%" Align="center">
 
       <% DO UNTIL RS.EOF %>
		<%FOR k=1 to 1%>
			<TR>
			<%FOR i=0 to 3%>						
				<TD Align="center"><IMG SRC=<%=RS(0)%> Width=59><BR></TD>
			<%RS.MoveNext
			NEXT%>
			</TR>
		<%NEXT%>              
        <% LOOP %>
 
</TABLE>
Et cela marche.
Cepandant, j'obtiens dans mon cas un tableau de 4 colonnes sur 1 ligne (ça tombe bien j'ai 4 enregistrements dans ma table )
Par contre si je souhaite obtenir un tableau de 3 colonnes sur 2 lignes (donc qlq chose comme cela:
Citation:
---------------------
RS(0) / RS(1) / RS(2)
---------------------
RS(3)/
------
)
j'obtiens une erreur de type ADODB.Field.
Pourriez-vous m'indiquer d'où vient ce problème ?
__________________
Merci de votre aide
L'effet developpez.com :

Avec nos pensées, nous créons le monde. [Bouddha]
vever88 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2007, 15h55   #12
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
Ta boucle FOR continue de tourner alors qu'il n'y a plus d'enregistrement.
C'est une condition que tu dois verifier "rs.EOF".
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2007, 16h38   #13
Membre du Club
 
Avatar de vever88
 
Étudiant
Inscription : avril 2007
Messages : 114
Détails du profil
Informations personnelles :
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 114
Points : 46
Points : 46
Effectivement, je saisi le problème.
Mais je ne vois pas vraiment comment le régler ...
... Dois-je rajouter une boucle ?
... Existe-t-il une option à la boucle FOR ?
__________________
Merci de votre aide
L'effet developpez.com :

Avec nos pensées, nous créons le monde. [Bouddha]
vever88 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2007, 16h45   #14
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
Code :
1
2
3
4
5
6
 
IF not rs.EOF then
    rs(0)
ELSE
 
END IF
Il existe
Mais tu ne pourras pas terminer le dessin du tableau.
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2007, 17h00   #15
Membre du Club
 
Avatar de vever88
 
Étudiant
Inscription : avril 2007
Messages : 114
Détails du profil
Informations personnelles :
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 114
Points : 46
Points : 46
Encore une fois Immo
(je n'affiche pas les contours du tableau, c'est uniquement pour la disposition que j'en utilise un)
Voilà ce que ça donne:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
<% DO UNTIL RS.EOF %>
				<%FOR k=1 to 2%>
				<TR>
					<%FOR i=0 to 2
					IF not rs.EOF then%>						
						<TD Align="center"><IMG SRC=<%=RS(0)%> Width=59><BR></TD>
					<%RS.MoveNext
					End IF
					NEXT%>
				</TR>
				<%NEXT%>              
			<% LOOP %>


++
__________________
Merci de votre aide
L'effet developpez.com :

Avec nos pensées, nous créons le monde. [Bouddha]
vever88 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2007, 17h24   #16
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
Il parait que c'est mieux de ne pas trop mélanger HTML et VB.
Quand c'est possible, fais des
Code :
response.write("<code html>")
A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2007, 17h32   #17
Membre du Club
 
Avatar de vever88
 
Étudiant
Inscription : avril 2007
Messages : 114
Détails du profil
Informations personnelles :
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 114
Points : 46
Points : 46
ok
__________________
Merci de votre aide
L'effet developpez.com :

Avec nos pensées, nous créons le monde. [Bouddha]
vever88 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2007, 08h16   #18
Expert Confirmé
 
Avatar de pc75
 
Inscription : septembre 2004
Messages : 2 810
Détails du profil
Informations personnelles :
Âge : 56
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2004
Messages : 2 810
Points : 3 011
Points : 3 011
Bonjour,

Citation:
Envoyé par Immobilis
Il parait que c'est mieux de ne pas trop mélanger HTML et VB.
Quand c'est possible, fais des
Code :
response.write("<code html>")
A+
Je n'ai jamais fait attention à cette règle. Sais-tu quels sont les inconvénients à mélanger HTML et VB ?

Merci.
__________________
Par principe, je ne réponds pas aux messages URGENT.
Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
pc75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2007, 09h43   #19
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
D'après l'annexe A-A cela consomme plus de ressources.
J'admet par contre qu'il est agréable et pratique de voir le code html s'afficher dans la partie "design" des logiciels de dev.

A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2007, 10h51   #20
Expert Confirmé
 
Avatar de pc75
 
Inscription : septembre 2004
Messages : 2 810
Détails du profil
Informations personnelles :
Âge : 56
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2004
Messages : 2 810
Points : 3 011
Points : 3 011
Citation:
Envoyé par Immobilis
D'après l'annexe A-A cela consomme plus de ressources.
J'admet par contre qu'il est agréable et pratique de voir le code html s'afficher dans la partie "design" des logiciels de dev.

A+
Tout à fait d'accord.

Merci
__________________
Par principe, je ne réponds pas aux messages URGENT.
Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
pc75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h25.


 
 
 
 
Partenaires

Hébergement Web