IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP Discussion :

Remplir un array


Sujet :

ASP

  1. #1
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2003
    Messages
    447
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 447
    Points : 173
    Points
    173
    Par défaut Remplir un array
    Je voudrais savoir s'il est possaible en asp de remplir un tableau (array) avec dezs données d'une table de ma base de données, je m'explique je voudrais que tous mes NOM_USER de ma table USERS figure dans un seul et même array !!

  2. #2
    Membre confirmé
    Avatar de malbaladejo
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2002
    Messages : 379
    Points : 527
    Points
    527
    Par défaut
    Il y a plusieurs techniques mais tu peux utiliser la méthode GetRows de l'objet Recordset :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim strSql
    Dim objCnn
    Dim objRst
    Dim arr
     
    Set objCnn = Server.CreateObject("ADODB.Connection")
    objCnn.Open ConnectionString
     
    strSql = "SELECT NOM_USER FROM USER" 
    Set objRst = objCnn.Execute(strSql)
    If Not objRst.Eof Then
        arr = objRst.GetRows()
    End If

  3. #3
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2003
    Messages
    447
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 447
    Points : 173
    Points
    173
    Par défaut Mettre le nom des mes users dans l'array
    Je suis tout a fait d'accord que le code que tu m'as donner me permet de savoir combien de cellule se trouvent dans mon array mais je voudrais qu'a chaque utilisateurs present dans la table "USER" mon array soit modifier.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <%
     Dim arr 
     
     Set USER = Conn.Execute("SELECT * FROM UTILISATEURS")
     
     If Not USER.Eof Then 
      arr = USER.GetRows()
     End If
     
     num_users = Ubound(arr,2) + 1
     
     For i = 1 to num_users
      If i = num_users Then
       Set Utilisateurs = Conn.Execute("SELECT * FROM UTILISATEURS")
       Utilisateurs.MoveFirst
       Do While Not Utilisateurs.EOF 
        Response.Write(Utilisateurs("LOGIN"))
        Response.Write("<br>")  
       Utilisateurs.MoveNext
       Loop
      End If
     Next
    %>
    Ce code me permet de connaitre le nombre de users de ma table mais en aucun cas je peut rajouter chaque dans mon array ??

  4. #4
    Membre confirmé
    Avatar de malbaladejo
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2002
    Messages : 379
    Points : 527
    Points
    527
    Par défaut
    je ne comprend pas ce que tu veux faire.

  5. #5
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2003
    Messages
    447
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 447
    Points : 173
    Points
    173
    Par défaut Plus de détail
    J'ai dans une table tous les utilisateurs de mon application et j'ai besoin pour la création d'un graphe de mettre tous mes utilisateurs dans un array.

  6. #6
    Membre confirmé
    Avatar de malbaladejo
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2002
    Messages : 379
    Points : 527
    Points
    527
    Par défaut
    Quand tu fais :
    Tous les utilisateurs de ta table sont dans un array.
    Et quand tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i = 1 To Ubound(arr)
       Response.write arr(0,i) & " " & arr(1,i) ....
    Next
    Tu peux accéder à tout tes utilisateurs.
    Je ne vois pas ou est le problème.

  7. #7
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2003
    Messages
    447
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 447
    Points : 173
    Points
    173
    Par défaut Oui mais ....
    Je suis tout a fait d'accord avec toi mais je voudrais en fait faire un graphe en VbScript mais que pour ce graphe j'ai besoin d'un array, voici le code de mon graphe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <%@ language="vbscript" %>
    <%
     Set Conn = Session("Conn")
     
     Set USER = Conn.Execute("SELECT LOGIN FROM UTILISATEURS")
     
     If Not USER.Eof Then 
      arr = USER.GetRows()
     End If
     
     num_users = Ubound(arr,2) + 1
     
     For i = 1 to num_users
       QUE DOIS METTRE ICI POUR AVOIR QUELQUE CHOSE DE SIMILAIRE A CA :
       labels = Array("Synapse","Christian","Nicolas","Comptoir","Alix","Richard")
     Next
     
     Set cd = CreateObject("ChartDirector.API")
     
     data = Array(12,14,2,5,8,1)
     Set c = cd.XYChart(800,240)
     Call c.addTitle("Nombre de demandes par utilisateurs", "timesbi.ttf", 14)
     Call c.setPlotArea(45, 40, 300, 160)
     Set layer = c.addBarLayer3(data)
     Call layer.set3D(Session("Graph3D"))
     Call layer.setBarShape(cd.CircleShape)
     Call c.xAxis().setLabels(labels)
     Call c.yAxis().setTitle("Demande")
     Call c.xAxis().setTitle("")
     Response.ContentType = "image/png"
     Response.BinaryWrite c.makeChart2(cd.PNG)
     Response.End
    %>

  8. #8
    Membre confirmé
    Avatar de malbaladejo
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2002
    Messages : 379
    Points : 527
    Points
    527
    Par défaut
    Peut être que je dis des betises mais la fonction Array() et GetRows() retournent des tableaux du même type.
    Si tu poses la question c'est que tu as déjà du tester le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <%@ language="vbscript" %> 
    <% 
     Set Conn = Session("Conn") 
     
     Set USER = Conn.Execute("SELECT LOGIN FROM UTILISATEURS") 
     
     If Not USER.Eof Then 
      labels= USER.GetRows() 
     End If
     
     Set cd = CreateObject("ChartDirector.API") 
     
     data = Array(12,14,2,5,8,1) 
     Set c = cd.XYChart(800,240) 
     Call c.addTitle("Nombre de demandes par utilisateurs", "timesbi.ttf", 14) 
     Call c.setPlotArea(45, 40, 300, 160) 
     Set layer = c.addBarLayer3(data) 
     Call layer.set3D(Session("Graph3D")) 
     Call layer.setBarShape(cd.CircleShape) 
     Call c.xAxis().setLabels(labels) 
     Call c.yAxis().setTitle("Demande") 
     Call c.xAxis().setTitle("") 
     Response.ContentType = "image/png" 
     Response.BinaryWrite c.makeChart2(cd.PNG) 
     Response.End 
    %>
    Je met le retour de GetRows directement dans Labels.
    Ca marche ça ?

    Sinon on peut compliquer un peu plus en utilisant la commande execute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim strCommande
    strCommande = "Array("
    For i = 1 To Ubound(arr) 
          strCommande = strCommande & """" & arr(0,i) & ""","
    Next
    strCommande = Left(strCommande,Len(strCommande)-1)
    strCommande = strCommande & ")"
    Labels = execute(strCommande)
    Le but du jeu est de construire la chaine Array("Synapse","Christian","Nicolas","Comptoir","Alix","Richard") puis de l'éxécuter.

    Je suis curieux de savoir si la 2em solution fonctionne.
    Tu me tiendras au courant.

  9. #9
    Membre confirmé
    Avatar de malbaladejo
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2002
    Messages : 379
    Points : 527
    Points
    527
    Par défaut
    J'ai fais une erreur dans mon précédent post.
    J'ai confus les methodes Execute et Eval.
    Voici un code qui fonctionne (je viens de la tester) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim strCommande 
    strCommande = "Array(" 
    For i = 1 To Ubound(arr) 
          strCommande = strCommande & """" & arr(0,i) & """," 
    Next 
    strCommande = Left(strCommande,Len(strCommande)-1) 
    strCommande = strCommande & ")" 
    Labels = Eval(strCommande)

  10. #10
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2003
    Messages
    447
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 447
    Points : 173
    Points
    173
    Par défaut Presque
    J'ai une erreur de syntaxe sur la derniere ligne "Labels = execute(strCommande)" sur ce qui est de ton deuxieme test mais en ce qui concerne le permier test c'est sur il ne fonctionne pas, je vais tenter de chercher un peu plus sur mon erreur de syntaxe de ta deuxieme idée.

  11. #11
    Membre averti Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Points : 420
    Points
    420
    Par défaut
    C'est quoi le composant que tu utilises?

    C'est pour moi, pour ta question je peux pas t'aider.
    J'utilise OWC.Chart mais je galère à mettre des graphes différents sur un même graphique.

  12. #12
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2003
    Messages
    447
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 447
    Points : 173
    Points
    173
    Par défaut Merci malbaladejo
    Ton code fonctionne tres bien mais il ne me reste plus qu'a mettre mes Nom de users dans mon array et cela sera bon ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Remplir un array de façon générique
    Par ragnarokr dans le forum C#
    Réponses: 7
    Dernier message: 06/03/2008, 17h04
  2. [Tableaux] Remplir un array()
    Par fourniey dans le forum Langage
    Réponses: 4
    Dernier message: 11/08/2007, 16h59
  3. [MySQL] Remplir un array à partir d'une table
    Par Dauphin dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 26/06/2007, 07h25
  4. [MySQL] Remplir un array() avec des données issues d'une bdd
    Par fichtre! dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 18/12/2006, 17h03
  5. [VB.NET] Comment remplir un Array
    Par Immobilis dans le forum ASP.NET
    Réponses: 6
    Dernier message: 10/11/2005, 23h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo