Tableaux associatifs dynamiques

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Tableaux associatifs dynamiques

par jojolapine » 03 janv. 2009, 21:03

Bon alors ça ne amrche toujours pas, je vais m'arracher les cheveux, je vous le promet!!!

Voici deux objetx javascript (généré en php):

Code : Tout sélectionner

var tempsBF={1:{tempsTotal:225}}; var tempsBFEmployes={0:{idEmploye:4,tempsDebut:1231007432,BF:1},1:{idEmploye:3,tempsDebut:1231007421,BF:1}};
c'est pas trop compliqué...
Je souhaite simplement faire ce qui s'écrirait en php:
<?php
foreach($tempsBFEmployes as $key=>$value){

    if(!isset($tempsTotaux[$value['BF']])){

        $tempsTotaux[$value['BF']]=$tempsBF[$value['BF']];
    }

    $tempsTotaux[$value['BF']]+=time()-$value['tempsDebut'];
}
?>
En gros on ajoute les différences de temps entre maintenant et le début du BF de l'employé et on ajotue une fois le temps total déjà passé sur ce BF dans le passé...

C'est assez simple, les calculs ne me posent pas de problèmes en javascript, c'est simplement la manipulation des tableaux...
En gros ça donen ça:

Code : Tout sélectionner

tempsTot=new Array(); d=new Date(); for( i in tempsBFEmployes){ if(typeof tempsTot[i] == 'undefined') tempsTot[tempsBFEmployes[i].BF].temps=tempsBF[tempsBFEmployes[i].BF].tempsTotal; tempsTot[tempsBFEmployes[i].BF]+=((d.getHours()*3600+d.getMinutes()*60+d.getSeconds())-(tempsBFEmployes[i].tempsDebut))+tempsTot[i].temps; }
Mais biens sûr rien ne fonctionne... :(

A l'aide!!!!!!!!!!!!!!!!!!!!

par Aureusms » 03 janv. 2009, 15:09

Ok c'est édité...

par jojolapine » 03 janv. 2009, 00:54

Alors vis, le but c'est d'avoir le temps en live, sauf que si deux personnes (et on va prendre xx et yy, si tu pouvais éditer ton post pour la confidentialité, merci ;) ) travaillent sur le même BF, les deux temps doivent s'additioner...
Mais je suis sur une nouvelle piste,
comme le tout est rafraichit via ajax, je vais regénérer un tableau associatif "en dur" (ça je sais faire)
Affaire à suivre, je vous tient au jus ;)

par Aureusms » 02 janv. 2009, 21:07

Si je comprends bien tu veux indiquer le temps total de yy et de xx en live ?

Tableaux associatifs dynamiques

par jojolapine » 02 janv. 2009, 18:58

Bonjour à tous,
Je suis au bord du gouffre....
Voilà 4h que je m'arrache les cheveux sur du code javascript, pour foncer à chaque fois dans les murs!
Je cherche "simplement" comment créer un tableau associatif dynamique, un peu con non?

Le problème est bien sûr plus large, en fait, j'ai un tableau html tout bête, comme ceci:

Code : Tout sélectionner

<table id="actionsEnCours"> <tr> <th>Nom employé</th> <th>Action</th> <th>N° BF</th> <th>Temps Total</th> <th>Heure Début</th> </tr> <tr> <td>yy</td> <td>action1</td> <td class="BF" id="0">1698</td> <td class="temps1698">00:04:23</td> <td id="tempsDebut0">12:17:14</td> </tr> <tr> <td>xx</td> <td>action1</td> <td class="BF" id="1">1698</td> <td class="temps1698">00:04:23</td> <td id="tempsDebut1">16:10:39</td> </tr> </table>
Rien de bien sorcier!
Je cherche à mettre à jour le temps de fabrication via javascript, pour celà, la formule est simple, c'est:

Code : Tout sélectionner

(maintenant - tempsDébut) + tempsPassé
Mais plusieurs personnes peuvent travailler en même temps sur le même BF, il faut donc séparer chaque ligne
Et ajotuer celle qui doivent vont ensemble...
Le tableau associatif est tout indiqué, seulement il fonctionne pas!

Merci d'avance