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 11/12/2007, 18h01   #1
Membre à l'essai
 
Inscription : juin 2004
Messages : 42
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : juin 2004
Messages : 42
Points : 22
Points : 22
Par défaut Remplir un tableau à la volée

Bonjour à tous,

Je souhaiterais connaître la manière de remplir un tableau dynamiquement en ASP.
Je m'explique : je dois afficher plusieurs personnes selon plusieurs requêtes.

Requête 1 affiche :
personne A
personne B
personne C
personne D

Requête 2 affiche :
personne B
personne E
personne F

Requête 3 affiche :
personne G
personne I
personne J

Je souhaiterais qu'à chaque affichage, j'enregistre l'ID de la personne affichée dans un tableau.
A la fin de toutes mes requêtes, je parcours ce tableau pour voir les doublons. Et, en correspondance avec la base de données, je peux voir quelles personnes ne sont pas affichées.

Voilà comment je procède jusqu'à présent :
1. Je crée mon tableau "GLOBAL_combien" qui contiendra tous les ID
Code :
1
2
<% dim GLOBAL_combien
redim GLOBAL_combien(0) %>
2. A chaque affichage, j'inclus l'ID de la personne dans mon tableau. Pour cela, je redimensionne mon tableau pour insérer un élément de plus
Code :
1
2
3
4
<% plus_un = ubound(GLOBAL_combien) + 1 // Je trouve l'ID le plus haut et je lui ajoute 1
redim GLOBAL_combien(plus_un) // Je redimensionne mon tableau
GLOBAL_combien(plus_un) = MonID // J'inclus mon nouvel enregistrement
%>
J'essaie en incluant cette fonction
Code :
<% redim preserve GLOBAL_combien(plus_un) %>
au lieu de
Code :
<% redim GLOBAL_combien(plus_un) %>
Mais le résultat est le même.

Mon tableau devrait alors contenir les lignes suivantes:
personne A
personne B
personne C
personne D
personne B
personne E
personne F
personne G
personne I
personne J

Je me rendrais alors compte que B est en double et qu'il manque H.

Cependant, j'ai bien peur qu'à chaque fois que je redimensionne mon tableau, toutes les données insérées soient perdues.

Quelqu'un voit-il comment résoudre mon problème ? En partant de ma démarche ou à sa propre sauce, je prends toutes les initiatives.

Merci de votre aide.

uado
uado est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2007, 08h56   #2
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,

A mon avis, il faudrait que tu remplisses ton tableau au fure et à mesure :

Shématiquement :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
i = 0
 
Exécution de la requête1
do while not requete1.eof
   redim preserve MaVariable(i)
   MaVariable(i) = requete1("ID")
   requete1.movenext
loop
 
Exécution de la requête2
do while not requete2.eof
   redim preserve MaVariable(i)
   MaVariable(i) = requete2("ID")
   requete2.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 14/12/2007, 11h07   #3
Membre à l'essai
 
Inscription : juin 2004
Messages : 42
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : juin 2004
Messages : 42
Points : 22
Points : 22
Ok, merci de ce conseil, je vais m'y pencher.

Merci encore
uado est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2007, 12h27   #4
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
Re,

Dans l'exemple que je t'ai donné, j'ai oublié d'incrémenter la variable i dans les boucles ( i = i + 1).
__________________
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é
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h09.


 
 
 
 
Partenaires

Hébergement Web