Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2032 connectés 

  FORUM HardWare.fr
  Programmation
  ASP

  [ASP] au pros de boucles

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ASP] au pros de boucles

n°439064
DJERO
Yoooup...merde ça marche pas..
Posté le 25-06-2003 à 14:52:29  profilanswer
 

Salut à tous,
 
Je commence par vous expliquer ce à quoi je voudrais arriver:
Je voudrais que mes données soient uploader dans ma table access en tenant compte des champs non renseignés:
 
Ce que je voudrais avoir:
http://www.absymedia.com/test/table1.gif
 
Ce que j'ai avec mon code actuel:
 
http://www.absymedia.com/test/table2.gif
 
Je vous explique un peu mon probleme:
 
J'ai un formulaire qui comporte quarantes champs:
 
http://www.absymedia.com/test/formulaire.gif
 
Dans ces champs j'inscris le nom de différente rubrique ainsi que leurs priorité d'affichage.
 
Toutes ces données sont uploadées dans ma bdd via SmartUpload
 
Pour ce qui est de leurs nommage:

Code :
  1. Champ01: <input type="text" name="UN">
  2. Priorité: <input type="text" name="PRIOUN">
  3. Champ02: <input type="text" name="DEUX">
  4. Priorité: <input type="text" name="PRIODEUX">
  5. ect...


 
Je traite ces données dans ma page test.asp
 
Afin de pouvoir traiter l'upload plus facilement (??) vers ma base je cherche à construire un tableau dont la taille est connue:
 

Code :
  1. Dim TabGlob()
  2. Redim TabGlob(2,39)


 
Je construis alors derniere colonne de on tableau comme ceci:

Code :
  1. TabGlob(2,0)="UN"
  2.    TabGlob(2,1)="DEUX"
  3.    TabGlob(2,2)="TROIS"
  4.    TabGlob(2,3)="QUATRE"
  5.    TabGlob(2,4)="CINQ"
  6.    TabGlob(2,5)="SIX"
  7.    TabGlob(2,6)="SEPT"
  8.    TabGlob(2,7)="HUIT"
  9.    TabGlob(2,8)="NEUF"
  10.    TabGlob(2,9)="DIX"
  11.    TabGlob(2,10)="ONZE"
  12.    TabGlob(2,11)="DOUZE"
  13.    TabGlob(2,12)="TREIZE"
  14.    TabGlob(2,13)="QUATORZE"
  15.    TabGlob(2,14)="QUINZE"
  16.    TabGlob(2,15)="SEIZE"
  17.    TabGlob(2,16)="DIXSEPT"
  18.    TabGlob(2,17)="DIXHUIT"
  19.    TabGlob(2,18)="DIXNEUF"
  20.    TabGlob(2,19)="VINGT"
  21.    TabGlob(2,20)="VINGTUN"
  22.    TabGlob(2,21)="VINGTDEUX"
  23.    TabGlob(2,22)="VINGTTROIS"
  24.    TabGlob(2,23)="VINGTQUATRE"
  25.    TabGlob(2,24)="VINGTCINQ"
  26.    TabGlob(2,25)="VINGTSIX"
  27.    TabGlob(2,26)="VINGTSEPT"
  28.    TabGlob(2,27)="VINGTHUIT"
  29.    TabGlob(2,28)="VINGTNEUF"
  30.    TabGlob(2,29)="TRENTE"
  31.    TabGlob(2,30)="TRENTEUN"
  32.    TabGlob(2,31)="TRENTEDEUX"
  33.    TabGlob(2,32)="TRENTETROIS"
  34.    TabGlob(2,33)="TRENTEQUATRE"
  35.    TabGlob(2,34)="TRENTECINQ"
  36.    TabGlob(2,35)="TRENTESIX"
  37.    TabGlob(2,36)="TRENTESEPT"
  38.    TabGlob(2,37)="TRENTEHUIT"
  39.    TabGlob(2,38)="TRENTENEUF"
  40.    TabGlob(2,39)="QUARANTE"


 
Maintenant je voudrais pouvoir construire ma premiere et ma seconde colonne qui correspondent respectivement Au Titre du champs et à sa priorité.
ET C'EST LA QUE JE PATAUGE:
 

Code :
  1. Dim x, position
  2. x=0
  3. position=0
  4. For each valeur in TabGlob
  5.   nomTitre=TabGlob(2,x)
  6.   nomprio="PRIO"&TabGlob(2,x)
  7.     if mySmartUpload.Form(nomTitre)="" then
  8.       Do While mySmartUpload.Form(nomTitre)=""
  9.         x=x+1
  10.         nomTitre=TabGlob(2,x)
  11.         nomprio="PRIO"&TabGlob(2,x)
  12.       Loop
  13.     End if
  14. TabGlob(0,position)=mySmartUpload.Form(nomTitre)
  15. TabGlob(1,position)=mySmartUpload.Form(nomprio)
  16.   position=position+1
  17. Next


 
Alors si quelqu'un à compris qq chose à ce que je viens d'expliquer et ci ce quelqu'un a une reponse à m'apporter, je suis preneur...
 
Merci à tous;)

mood
Publicité
Posté le 25-06-2003 à 14:52:29  profilanswer
 

n°439224
MagicBuzz
Posté le 25-06-2003 à 16:01:55  profilanswer
 

J'ai rien compris.
 
Plus exactement, je capte pas trop ton code, mais au final, je vois pas ce que ton résultat actuel à d'anormal...
 
Sinon, pourquoi tu utilises "mySmartUpload" ?
Tu sais que c'est pour uploader des fichiers ? Y'a pas de fichier dans ton formulaire la... Utilise Resquest.Form, ça sera quelque peu plus rapide. (l'objet à la même structure)
 
Pour finir, tu veux quoi au final ? Quand le champ n'est pas renseigné, tu ne veux pas l'inserrer ?
 
Pourquoi ne pas bêtement allimenter ton tableau avec tes 40 lignes (sans chercher à comprendre si c'est remplis ou non) et filtrer au moment où tu génères les requêtes d'insersion ?

n°439335
DJERO
Yoooup...merde ça marche pas..
Posté le 25-06-2003 à 17:02:11  profilanswer
 

Bon, c'est vrai que l'utilisation de smartupload n'est pas spécialement indiquée dans ce cas, c'etait plus dans l'esprit d'uniformiser l'ensemble de mes pages d'upload qui ont elle des fichiers à transférer sur le serveur.
 
Pour ce qui est de ce que je veux obtenir:
 
Si un champs n'est pas renseigné lors de la soumission du formulaire, je voudrais que le script asp parcours le reste des champs de façon à en trouver un suivant comportant une valeur.
 
Une fois cette valeur récupérée, je voudrais l'inclure dans mon tableau en faisant en sorte que la valeur de ma derniere colonne(cf img1) soit "incrémentée" dans l'ordre.
 
Hum, pas très clair...
Explication
 
Dans mon formulaire:
Champ01: bolobolo Prio: 1
Champ02: blabla Prio: 1
Champ03: "vide" Prio: 1
Champ04: "vide" Prio: 1
Champ05: "zozozo" Prio: 1
 
-----> Soumission
 
Page de traitement, construction de mon tableau:
 
Col1   |   Col2   |   Col3   |
Titre  |   Prio   | NonChamps |
 
 
Ce que je voudrais avoir:
bolobolo   |   1   |   UN   |  
blabla   |   1   |   DEUX   |
zozozo   |   1   |   TROIS   |
 
Alors qu'actuellement j'obtiends ceci (ce que je ne veux pas):
 
bolobolo   |   1   |   UN   |  
blabla   |   1   |   DEUX   |
         |   1   |   TROIS   |
         |   1   |   QUATRE   |
zozozo   |   1   |   CINQ   |
 
ou bien avec un autre traitement ceci:
 
bolobolo   |   1   |   UN   |  
blabla   |   1   |   DEUX   |
zozozo   |   1   |   CINQ   |
 
Bref ce qui est important pour moi c'est de bien attibuer le bon "nomchamp" avec le bon "titre"
 
J'espère que mon explication est plus clair... Pas sur :cry:
 
Merci à vous

n°439341
antp
Super Administrateur
Champion des excuses bidons
Posté le 25-06-2003 à 17:04:05  profilanswer
 

MagicBuzz a écrit :

J'ai rien compris.


 
C'est que t'es pas un pro des boucles comme le précise le titre :D
[:neowen]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°439408
DJERO
Yoooup...merde ça marche pas..
Posté le 25-06-2003 à 17:46:48  profilanswer
 

UP

n°439557
MagicBuzz
Posté le 25-06-2003 à 20:41:56  profilanswer
 

Djero a écrit :

J'espère que mon explication est plus clair... Pas sur :cry:
 
Merci à vous


 
Question :
=> Ton tableau, tu en fais quoi après ? Tu le met dans une base de données, ou tu te contentes de l'afficher ?
 
Si c'est la première solution, tu te poste trop de questions :
=> Remplis bêtement les 40 lignes de ton tableau sans te soucier si c'est rempli ou non, et c'est au moment de la boucle que tu vas faire sur le tableau pour les insert que t'aura juste à vérifier avant chaque requête que la ligne contient bien toutes les données nécessaires.
 
Si c'est le second cas, je vois toujours pas ce qu'il y a de compliqué...
 
Array à deux dimensions, donc le nombre de lignes s'incrémente.
=> Impossible à faire en ASP, on ne peux que rajouter des colonnes. Soit, suffit de faire pivoter le tableau.
 
Donc, ton code devient :
 
tabGlob est un array à 1 dimension allant de 0 à 39 contenant les nombres écrits.
 
dim tabFinal()
redim tabFinal(3, 1)
 
For i = 0 to 39
   if request.form("monChamp" )(i) <> "" and request.form("monChamp2" )(i) <> "" then
       redim preserve tabFinal(3, i + 1)
       tabFinal(0, i) = request.form("monChamp" )(i)
       tabFinal(1, i) = request.form("monChamp2" )(i)
       tabFinal(2, i) = tabGlob(i)
   end if
Next
 
Normalement, ton tableau au final devrait être remplis correctement, je vois pas où est le problème...


Message édité par MagicBuzz le 25-06-2003 à 20:44:06
n°439772
DJERO
Yoooup...merde ça marche pas..
Posté le 26-06-2003 à 08:36:17  profilanswer
 

Effectivement j'upload ma bdd apres traitement du tableau.
 
Je vais essayer ça.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  ASP

  [ASP] au pros de boucles

 

Sujets relatifs
Compilation et debogage de module linux, aux pros de l'algo et systeme[ASP] Definir des variables globales
[ASP] Objet RecordCount buggé ?[ASP]Probléme de lecture seul pendant un update de base de données
[ASP]Probleme de connexion a une base de donnéeProblème d'intégrité de l'ASP dans un fichier XML
[ASP syntaxe sql ]requete d'interrogations d'une base access (newbee)Utiliser une variable JavaScript dans le code ASP possible?
[ASP] Générer une arborescence chez l'utilisateur (intranet)[ASP] PB sur Recordset
Plus de sujets relatifs à : [ASP] au pros de boucles


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR