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

Flash Discussion :

Datagrid > Formatage des données reçues par PHP


Sujet :

Flash

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 65
    Points : 46
    Points
    46
    Par défaut Datagrid > Formatage des données reçues par PHP
    Hello,
    je reviens avec mon datagrid.... C'est pas évident lorsqu'on ne connait pas ce truc...

    Alors voila ma question :

    Je récupère des données dans un datagrid y compris un temps en milisecondes (donc de la forme : temps=15687... J'aimerais pouvoir convertir ce chiffre sous la forme Min'Sec'Millisec (donc du style temps:1'07'324).
    Pour ce faire j'ai un code qui marche bien qui est celui-ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    //Convertion du temps
    var MS_total = TempsTotal%1000;
    var S_total = Math.floor(TempsTotal/1000)%60;
    var M_total = Math.floor(TempsTotal/60000)%60;
    Affichage_total.text = M+":"+S+":"+MS;
    Or, je ne sais pas où le placer dans mon code....

    Je récupère les données au niveau de mon Datagrid via le gestionnaire onLoad. Voici une partie de 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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    select_lv.onLoad = function() {
    			for (var i:Number=0; i < this.n; i++) {
    				scoreInfo.push(
    					{record:this["id"+i],
    					 prenom:this["prenom"+i],
    					 nom:this["nom"+i],
    					 temps:this["temps"+i]
    					});
    			}
                // On n'affiche uniquement le prenom, le nom et le temps (pas l'id)
    			temps_dg.columnNames = ["prenom", "nom", "temps"];
    			// Formatage colone "Prénom"
    			temps_dg.getColumnAt(0).width = 200;
    			temps_dg.getColumnAt(0).sortedUp = false;
    			temps_dg.getColumnAt(0).headerText = "Prenom";
    			// Formatage colone "Nom"
    			temps_dg.getColumnAt(0).width = 200;
    			temps_dg.getColumnAt(0).sortedUp = false;
    			temps_dg.getColumnAt(0).headerText = "Nom";
    			// Formatage colone "Nom"
    			temps_dg.getColumnAt(2).width = 160;
    			temps_dg.getColumnAt(2).headerText = "Temps";
    			
    			// Création du DataProvider
    			temps_dg.dataProvider = scoreInfo;
    			// Ajout de l'écouteur pour le clic sur l'entête des colones
    			temps_dg.addEventListener("headerRelease", headerListener);
    			msg_ta.text = "Vous pouvez enregistrer votre temps";
    }
    msg_ta.text = "Chargement des temps...";
    //Envoi des données au script PHP via SendAndLoad
    select_lv.sendAndLoad("http://localhost/wits_project/wits_project/jeux_flash/menu_jeux/getscore.php", select_lv, "GET");
    De plus, je me pose une question par rapport au tri. Si jamais j'arrive à modifier la variable "temps" et de l'afficher sous la forme "min'sec'millisec" est-ce que le tri pourra encore s'effectuer dans mon datagrid?

    Voici la methode de tri que j'ai employé pour la colone qui affiche mes temps (mon datagrid s'appelle "temps-dg")

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    case 2:
    if (temps_dg.getColumnAt(2).sortedUp) {
        temps_dg.sortItemsBy(temps_dg.columnNames[2], Array.NUMERIC | Array.DESCENDING);
    } 
    else {
        temps_dg.sortItemsBy(temps_dg.columnNames[2], Array.NUMERIC);
    }
    temps_dg.getColumnAt(2).sortedUp = !temps_dg.getColumnAt(2).sortedUp;
    break;
    Merci d'avance à tous ceux qui pourraient m'apporter des solutions !

  2. #2
    Membre actif Avatar de Fares BELHAOUAS
    Homme Profil pro
    Développeur Flex & Java
    Inscrit en
    Mars 2002
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Flex & Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 182
    Points : 252
    Points
    252
    Par défaut
    Salem purple21,

    trop long ton post, je veux dire ta question, ça ne donne pas envie à lire. Peux-tu s'il te plait être bref et précis.

    Merci
    Bon courage, @ ciao bonsoir!
    --------------
    Mettre le Tag est aussi une aide aux développeurs

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 65
    Points : 46
    Points
    46
    Par défaut
    yop,

    voici ma question wachement réduite:

    comment et surtout à quel endroit de mon code je peux formater des données affichées dans un datagrid. Mes données affichées sont du style : 75689 (c'est un temps en miliseconde) et moi je voudrais qu'elles s'affichent sous la forme "1'34'890 (soit sous la forme min'sec'millisec)

    Voilou !

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 65
    Points : 46
    Points
    46
    Par défaut
    ------------------------RESOLU-----------------------------------

    J'ai trouvé la solution tout seul comme un grand.

    Je la poste pour ceux que ça interresseraient...

    Alors, en fait, juste avant de récupérer les données envoyées par PHP et de les mettre dans mon DataProvider j'ai mis cette petite ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var z = convertion(this["temps"+i]);
    Ce qui me donne donc ce code pour mon onLoad :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    select_lv1.onLoad = function() {
    			for (var i:Number=0; i < this.n; i++) {
    				var z = convertion(this["temps"+i]);
    				scoreInfo1.push(
    					{record:this["id"+i],
    					 position:i,
    					 prenom:this["prenom"+i],
    					 nom:this["nom"+i],
    					 temps:z
    					});
    La fonction "convertion" est définie comme cela :
    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
    34
    35
     
    function convertion(temps:Number):String {
    //Convertion des millisecondes
    var MS = temps%1000;
    //Les secondes c'est les millisecondes divisées par 60. Math.floor sert à //prendre l'entier inférieur le plus proche
    var S = Math.floor(temps/1000)%60;
    //Convertion des minutes
    var M = Math.floor(temps/60000)%60;
        //Si le chiffre des minutes est inférieur à 10
        if (M<10){
            //On rajoute un "0" devant
            M="0"+M;
        }
        //Si le chiffre des secondesest inférieur à 10
        if (S<10){
            //On rajoute un "0" devant
            S="0"+S;
        }
        //Si le chiffre des millisecondes est inférieur à 100
        if (MS<100){
            //Si le chiffre des millisecondes est inférieur à 10
            if (MS<10){
                //On rajoute "00" devant
                MS="00"+MS;
            }
        //Sinon on rajoute un "0" devant
        else{
            MS="0"+MS;
        }
    }
    //On affecte à la variable "retour" le temps sous la forme : min'sec'millisec
    retour = M+":"+S+":"+MS;
    //On renvoi la variable "retour"
    return retour;
    }
    Voilou ! J'espère que ça pourra en aider d'autres !
    ps : il y a peut-être une solution bien meilleure que celle là...

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

Discussions similaires

  1. Tableau des données reçues par RS232
    Par iWizzers dans le forum Qt
    Réponses: 2
    Dernier message: 05/05/2014, 22h48
  2. [AJAX] json recuperer des donneés envoyé par php
    Par karimphp dans le forum AJAX
    Réponses: 1
    Dernier message: 14/05/2010, 11h13
  3. Afficher des données venant de PHP ailleurs que dans un DataGrid
    Par nonodup2 dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 02/09/2008, 15h50
  4. Formatage des données dans un datagrid
    Par calimer22 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 08/03/2007, 10h56

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