ASP : Double FOR avec un splitt :??:

ASP : Double FOR avec un splitt :??: - ASP - Programmation

Marsh Posté le 02-07-2003 à 20:04:47    

bon g pas trouvé un titre explicité, mais voila ce ke je veux faire.
 
Dans un champ d'une base de données, j'ai des années qui sont stockées de cette forme :

1980, 1981, 1982, 1983, 1987, 2000

etc...
 
Je souhaite afficher une liste multiple qui contient les 20 dernieres année, par exemple de 1980 à 2003
 
Je veux que pour chaque élément trouvé dans le champ, celui-ci si soit selected
 
 


<select name="annee">
<%for i=1980 to year(date())%>
<option value="<%=i%>" <%=i%>
</select>


 
ca, ca m'affiche bien le menu de 1980 a 2003, mais comment faire la comparaison avec les éléments du champ de la base de donnée pour séléctionner ceux ci?
 
j'espere vous m'avez compri et ke vs avez une idée :whistle:  :hello:

Reply

Marsh Posté le 02-07-2003 à 20:04:47   

Reply

Marsh Posté le 03-07-2003 à 10:21:29    

:bounce:

Reply

Marsh Posté le 03-07-2003 à 10:36:01    

et bien perso je ferais en premier un select distinct de tes années de la base de données.
puis pour chaque année du select de ton formulaire, boucler sur les enregistrements ramené sur ta requête, et si tu le trouve afficher le "selected"
 
mais je sais pas si c'est la meilleure solution  [:spamafote]  
 
si tu veux des précisions demande ;)


---------------
.: Clône de Drasche .:. Ebichuleys .:. Avec l'Aloe Vera je fais de beaux cacas [:dawa] .: www.oserselancer.com :.
Reply

Marsh Posté le 03-07-2003 à 11:50:52    

Urd-sama a écrit :

et bien perso je ferais en premier un select distinct de tes années de la base de données.
puis pour chaque année du select de ton formulaire, boucler sur les enregistrements ramené sur ta requête, et si tu le trouve afficher le "selected"
 
mais je sais pas si c'est la meilleure solution  [:spamafote]  
 
si tu veux des précisions demande ;)


 
oui, ca ca marche qd t années sont dans differents champs, mais la, elles sont toutes dans le meme champs séparé par des virgules...

Reply

Marsh Posté le 03-07-2003 à 11:56:21    

aaaaaaah je vois  :)  
alors il faut prendre ton champ, séparer les différentes années à l'aide d'une expression régulière, et les mettre dans un tableau.
quelque chose comme ca?   :)


---------------
.: Clône de Drasche .:. Ebichuleys .:. Avec l'Aloe Vera je fais de beaux cacas [:dawa] .: www.oserselancer.com :.
Reply

Marsh Posté le 03-07-2003 à 12:01:38    

T'as vraiment des questions bêtes des fois ;)
 
Y'a rien de plus simple :sarcastic:
 

a = "1980, 1981, 1982, 1983, 1987, 2000"
 
Response.Write "<select name=""annee"">" & vbCrLf
for i=1980 to year(date())
   Response.Write "    <option value=""" & cstr(i) """"
   if instr(a, cstr(i)) > 0 then
      Response.Write " SELECTED"
   end if
   Response.Write ">" & cstr(i) & "</option>" & vbCrLd
next
Response.Write "</select>" & vbCrLf


Message édité par MagicBuzz le 03-07-2003 à 12:01:51
Reply

Marsh Posté le 03-07-2003 à 12:15:11    

MagicBuzz a écrit :

T'as vraiment des questions bêtes des fois ;)
 
Y'a rien de plus simple :sarcastic:
 

a = "1980, 1981, 1982, 1983, 1987, 2000"
 
Response.Write "<select name=""annee"">" & vbCrLf
for i=1980 to year(date())
   Response.Write "    <option value=""" & cstr(i) """"
   if instr(a, cstr(i)) > 0 then
      Response.Write " SELECTED"
   end if
   Response.Write ">" & cstr(i) & "</option>" & vbCrLd
next
Response.Write "</select>" & vbCrLf




 
PTDR :lol:  
 
Je pose des questions bete tout le temps :p
 
enfin, merci, vé tester :d

Reply

Marsh Posté le 03-07-2003 à 12:44:13    

en effet ta solution est mieux  :jap:


---------------
.: Clône de Drasche .:. Ebichuleys .:. Avec l'Aloe Vera je fais de beaux cacas [:dawa] .: www.oserselancer.com :.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed