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/03/2007, 14h37   #1
Débutant
 
Inscription : juin 2006
Messages : 502
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 502
Points : 44
Points : 44
Par défaut afficher des données en fonction des cases à cochées

Bonjour à tous,

Je vais essayer d'être clair dans mes explicaton.

J'ai un tableau qui affiche 5 colonnes dans lequel on trouve deux cases à cochées. Une case qui indique lorsqu'elle est coché que cette personne on souhaite l'ajouter et si les deux cases sont cochées cela signifie qu'on veut la supprimer.

Toutes ces données je les récupèrer sur une autre page dans un tableau dans le quel figure les nom dont une des deux case à été coché deux fois et un otre tableau dans lequel j'affiche les personnes dont les deux cases ont été cochées.

Le problème qui se pose, c'est que dans mon 1er tableau s'affiche bien les personne où une seul case à été coché mais dans le second tableau apparaît les personnes dont une seule case à été cochée plus celle dont les deux cases ont été cochées.

Voici mon code:
Citation:

<table>
<tr>
<td>Nom</td>
<td>Libellé</td>
</tr>
<%
for i=1 to Request.Form("i")
if Request.Form("A/S" & i) <>"" then
%>
<tr>
<td><%=request.form("NOM" & i)%></td>
<td ><%=request.form("Libelle" & i)%></td>
</tr>
<input type="hidden" name="NOM<%=i%>" value="<%=request.form("NOM" & i)%>">
<input type="hidden" name="Libelle<%=i%>" value="<%=request.form("Libelle" & i)%>">
<%
end if
next%>


</table><br/><br/>
Les Noms qui souhaitent supprimer<br/><br/>
<table>
<tr>
<td>Nom</td>
<td>Libellé</td>
</tr>

<!---Une boucle pour afficher toutes las cases qui ont été cochées --->
<%for i=1 to Request.Form("i")
if (Request.Form("Choix" & i) <>"") and (Request.Form("A/S" & i) <>"") then

%>

<tr>
<td><%=request.form("NOM" & i)%></td>
<td ><%=request.form("Libelle" & i)%></td>
</tr>
<input type="hidden" name="NOM<%=i%>" value="<%=request.form("NOM" & i)%>">
<input type="hidden" name="Libelle<%=i%>" value="<%=request.form("Libelle" & i)%>">
<%

end if
next%>
</table>


J'espère que j'ai bien expliqué

Merci d'avance pour vos réponses.
mademoizel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2007, 14h54   #2
Membre habitué
 
Avatar de sab_etudianteBTS
 
Inscription : juin 2006
Messages : 211
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 211
Points : 134
Points : 134
Re,
alors la je ne vois pas pourtant ton if a l'air correct! Mais dis moi, pourquoi faut il cocher 2 cases pour pouvoir supprimer, pourquoi tu ne met pas une case pour ajouter et une case pour supprimer?
__________________
Je vaux 5 677 200 € sur HumainAVendre.com, et vous ? http://www.humainavendre.com

Sab
sab_etudianteBTS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2007, 14h57   #3
Débutant
 
Inscription : juin 2006
Messages : 502
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 502
Points : 44
Points : 44
J'ai reçu des ordres comme quoi qu'il fallait faire ça lol
mademoizel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2007, 15h07   #4
Membre habitué
 
Avatar de sab_etudianteBTS
 
Inscription : juin 2006
Messages : 211
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 211
Points : 134
Points : 134
Ok je vien de faire des test et aparemment on est obligé de faire comme ceci :


if (Request.Form("A/S" & i) <>"") and (Request.Form("Choix" & i) ="") then
'premier tableau
end if


if (Request.Form("A/S" & i)<>"") and (Request.Form("Choix" & i)<>"") then
response.write("ok check 1 et check 2")
end if
__________________
Je vaux 5 677 200 € sur HumainAVendre.com, et vous ? http://www.humainavendre.com

Sab
sab_etudianteBTS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2007, 15h08   #5
Débutant
 
Inscription : juin 2006
Messages : 502
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 502
Points : 44
Points : 44
Ok d'accord, j'avais pas penser à faire de cette manière.

Je vais tester tout de suite.
mademoizel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2007, 15h13   #6
Débutant
 
Inscription : juin 2006
Messages : 502
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 502
Points : 44
Points : 44
ça fonction mais j'ai un petit problème c'est que dans le 1er tableau je récupère aucune ligne c'est bizar
mademoizel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2007, 09h51   #7
Débutant
 
Inscription : juin 2006
Messages : 502
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 502
Points : 44
Points : 44
Par défaut Histoires de cases à cocher

Bonjour à tous,

Je réalise un site, dans lequel je dois afficher dans un tableau toutes les données qui ont été cochées dans la page précédente et si rien n'a été cochés je dois juste afficher un message disant que l'utilisateur n'a rien coché. Le problème c'est qui se pose, c'est que quoi qu'il arrive, j'ai un tableau vide qui s'affiche avec le message qui indique à l'utilisateur qu'il n'a rien coché.

Voici mon code:

Citation:
<%if (Request.Form("A/S" & i) =" ") and (Request.Form("Choix" & i) =" ") then
response.Write("Vous n'avez rien coché")
else %>

Vos choix.<br/><br/>
<table>
<tr>
<td>Nom</td>
<td>Libelle</td>
</tr>
<%
if (Request.Form("A/S" & i) <>" ") and (Request.Form("Choix" & i) =" ") then
for i=1 to Request.Form("i")
%>
<tr>
<td><%=request.form("NOM" & i)%></td>
<td ><%=request.form("Libelle" & i)%></td>
</tr>
<input type="hidden" name="NOM<%=i%>" value="<%=request.form("NOM" & i)%>">
<input type="hidden" name="Libelle<%=i%>" value="<%=request.form("Libelle" & i)%>">
<%
next
end if
end if
%>

</table>


Merci d'avance pour cos réponse
mademoizel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2007, 09h56   #8
Inactif
 
Inscription : mars 2002
Messages : 1 295
Détails du profil
Informations personnelles :
Âge : 41

Informations forums :
Inscription : mars 2002
Messages : 1 295
Points : 1 345
Points : 1 345
Il n'y a pas de balise form.
Encore une fois tu postes un code partiel et tu ne travaille pas beaucoup par toi-même.
Ca :
Citation:
if (Request.Form("A/S" & i) <>" ") and (Request.Form("Choix" & i) =" ") then
c'est quoi ce test? ta variable i elle sort d'où?


Poste tout le code.
Florian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2007, 09h59   #9
Membre habitué
 
Avatar de sab_etudianteBTS
 
Inscription : juin 2006
Messages : 211
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 211
Points : 134
Points : 134
Salut,
Je pense que le problème vient de la :
Citation:
if (Request.Form("A/S" & i) =" ") and (Request.Form("Choix" & i) =" ") then
Essaye d'enlever les "espaces" :
Code :
if (Request.Form("A/S" & i) ="") and (Request.Form("Choix" & i) ="") then
Et comme le dit Florian, essaye de nous mettre un peu plus de code
__________________
Je vaux 5 677 200 € sur HumainAVendre.com, et vous ? http://www.humainavendre.com

Sab
sab_etudianteBTS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2007, 10h04   #10
Débutant
 
Inscription : juin 2006
Messages : 502
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 502
Points : 44
Points : 44
le i je le récupère d'une autre page, il me sert à compter toutes les cases qui ont été cochés au par avant.

Et biensure que oui ce code est compris dans un formulaire. Il manque simplement la balise form et la connexion à la base de données qui ne change jamais.
mademoizel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2007, 10h07   #11
Débutant
 
Inscription : juin 2006
Messages : 502
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 502
Points : 44
Points : 44
Excusez moi je fais du mieu que je peux moi aussi je cherche de mon côté mais je n'y arrive pas et c'est pour cette raison que je fais appel à vous.
mademoizel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2007, 10h10   #12
Membre habitué
 
Avatar de sab_etudianteBTS
 
Inscription : juin 2006
Messages : 211
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 211
Points : 134
Points : 134
Si je me souviens bien, cette page est la page de traitement de ton form non??

Donc, si je me souviens bien encore tu effectue une boucle ici??
Donc si tu veux tester si l'utilisateur n'a rien coché, tu dois parcourir tous tes checkbox en mettant un cumul (incrémenté a chaque fois que tu rencontre une case cochée). A la fin de ta boule et seulement, si ton cumul est égal a 0, alors tu pourra mettre ton message comme quoi il n'a rien coché...
Tu me suis la, ou je suis allée trop loin?! lol
__________________
Je vaux 5 677 200 € sur HumainAVendre.com, et vous ? http://www.humainavendre.com

Sab
sab_etudianteBTS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2007, 10h12   #13
Débutant
 
Inscription : juin 2006
Messages : 502
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 502
Points : 44
Points : 44
Oui, c'est bien ça
mademoizel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2007, 10h14   #14
Débutant
 
Inscription : juin 2006
Messages : 502
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 502
Points : 44
Points : 44
en faite il faudrait que je dise

If requiest.form ("i") == "0" then
response.write ("Rien à été coché")
else

je fais le tableau avec la boucle
end if

C'est bien ça?
mademoizel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2007, 10h22   #15
Membre habitué
 
Avatar de sab_etudianteBTS
 
Inscription : juin 2006
Messages : 211
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 211
Points : 134
Points : 134
Non, ce n'est pas bon. Ton i sera toujours différent de 0 puisque ton i ne sert uniquement a créer des noms de variables dynamiquement...
Essaye ceci plutot :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
dim cumul
dim j
cumul=0
for j=1 to request.for("i")
   if (Request.Form("A/S" & j) <>"") and (Request.Form("Choix" & j)<>"") then
      cumul=cumul+1
   end if
next
 
if cumul=0 then
  response.write("rien coché!")
end if
Mais bon je ne suis pas sure du tout...
Test et dis moi si ca fonctionne
__________________
Je vaux 5 677 200 € sur HumainAVendre.com, et vous ? http://www.humainavendre.com

Sab
sab_etudianteBTS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2007, 10h23   #16
Débutant
 
Inscription : juin 2006
Messages : 502
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 502
Points : 44
Points : 44
Je viens de penser à un truck Sab.

Sachant que j'ai deux tableau qui s'affiche en fonction des cases qui ont été cochées, il faut que je précise pour quel case non coché je dois afficher ce message.Est-ce quand seulement je coche dans les deux cases ou dans une seule.

Donc il faut bien que je teste si le cumul de i concernant les deux cases cochés ajout/supp et choix est égal à zéro et pareil pour la case ajout/supp.

Je ne sais pas si j'ai été clair


Ce qu'il faudrait faire c'est deux cumul différents et ensuite je teste sur cette page.

A ton avis?
mademoizel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2007, 10h29   #17
Membre habitué
 
Avatar de sab_etudianteBTS
 
Inscription : juin 2006
Messages : 211
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 211
Points : 134
Points : 134
Citation:
Je ne sais pas si j'ai été clair
Effectivement, je n'ai pas trés bien saisi!!
Si tu dois préciser pour chaque ligne si aucune case n'a été coché, donc ce code ne conviendra pas.
Par contre, si l'utilisateur ne coche rien, et que tu veux simplement afficher un msg sans faire un tableau, alors utilise le code.
__________________
Je vaux 5 677 200 € sur HumainAVendre.com, et vous ? http://www.humainavendre.com

Sab
sab_etudianteBTS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2007, 10h51   #18
Débutant
 
Inscription : juin 2006
Messages : 502
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 502
Points : 44
Points : 44
non laisse tomber pour le dernier message que je t'ai mis.

Par contre ton code ne fonctionne pas.

J'ai fais autre chose:

Ce code correspond à la page où l'utilisateur doit cochés des cases selon son besoin:
Citation:
<form name="MonForm" action="Traitemment.asp" method="post">

<table>
<tr>
<td width="18%" >Nom</div></td>
<td width="28%">Libelle</td>
<td width="8%">Choix?</td>
<td width="19%">Ajout/Supp</td>

</tr>
<!-- je compte toutes les cases cochés grâce à un cumul --->
<%
dim j
dim i
i=0
j=0

objRs.MoveFirst
'On affichage tous les noms des catégories et des logiciels qui se trouve ds la BDD
do while not objRs.EOF
%>
<tr>

<td><%=objRs("NOM")%><input type="hidden" name="NOM<%=i%>" value="<%=objRs("NOM")%>"></td>
<td><%=objRs("Libelle")%><input type="hidden" name="Libelle<%=i%>" value='<%=objRs("Libelle")%>'></td>
<td><input type="checkbox" name="Choix<%=i%>" value="coche"></td>
<td><input type="checkbox" name="A/s<%=j%>" value="A/S"></td>
</tr>
<%
objRs.MoveNext
i=(i+1)
j=(j+1)
LOOP
%>
<!--on récupère la valeur de i dans un champs caché--->
<input type="hidden" name="i" value="<%=i%>">
<input type="hidden" name="j" value="<%=j%>">

<br><br><br>


</table>


ensuite je récupère les cumules dans l'autre page:

Citation:


<form name="MonForm2" action="Envoi.asp" method="post">
<%if request.Form("j") = 0 then
response.Write("Aucune case selectionnée")
else%>
<table>
<tr>
<td>Nom</td>
<td>Libelle</td>
</tr>



<% if (Request.Form("Choix" & i) <>"") and (Request.Form("A/S" & j) <>"") then
for i=1 to Request.Form("i")%>

<tr>
<td><%=request.Form("NOM" & i)%></div></td>
<td><%=request.Form("Libelle" & i)%></div></td>
</tr>
<input type="hidden" name="NOM<%=i%>" value="<%=request.Form("NOM" & i)%>">
<input type="hidden" name="Libelle<%=i%>" value="<%=request.Form("Libelle" & i)%>">
<%next

end if%>
</table
Mais ça non plus sa ne fonctionne pas
mademoizel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2007, 10h57   #19
Débutant
 
Inscription : juin 2006
Messages : 502
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 502
Points : 44
Points : 44
Pour ton code, quoi qu'il arrive il m'affiche un tableau vide
mademoizel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2007, 10h58   #20
Membre habitué
 
Avatar de sab_etudianteBTS
 
Inscription : juin 2006
Messages : 211
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 211
Points : 134
Points : 134
Euh... Ce que tu as fais n'est pas bon, c'est normal que ca ne fonctionne pas! Es tu sure d'avoir compris le principe??
Dans ta page de formulaire, la variable i sert jsute a "rajouter" un numéro après ta variable, pour ne pas a l'écrire en dur (var1, var2, var3...)

Réessaye mon code, donne moi le message d'erreur, s'il y en a un, et montre moi entiérement ta page traitement.
__________________
Je vaux 5 677 200 € sur HumainAVendre.com, et vous ? http://www.humainavendre.com

Sab
sab_etudianteBTS 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 09h39.


 
 
 
 
Partenaires

Hébergement Web