Tableau associatif [Résolu]

Signaler
Messages postés
363
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
29 janvier 2007
-
Messages postés
363
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
29 janvier 2007
-
Bonjour,

J'ai un petit problème, je n'arrive pas à faire un tableau associatif, et je ne comprends pas pourquoi.

En fait j'intègre du javascript au PHP pour que mon tableau soit en javascript pour le passer plus tard à une fonction :
echo '<script language="javascript">var tabJS = new Array();</script>';                        
 $dernierNumAff = SQL_SELECT_ROWS($maRequete);
$nbDernierNum = count($dernierNumAff);
 if($nbDernierNum>1)
{
        for($i=1 ; $i<$nbDernierNum ; $i++)
        {
                echo '<script language="javascript">tabJS["'.$dernierNumAff[$i]['idAgence'].'"] = "'.Date('y').$dernierNumAff[$i]['idAgence'].$dernierNumAff[$i]['dernierNum'].'";</script>';
          }
}

Alors je sais que les données sont correctes etc etc, mais le tableau j'arrive pas à le remplir ...
Si je fais :
 echo '<script language="javascript">tabJS[0]="une alouette";</script>'; => ça marche
 echo '<script language="javascript">tabJS["m"]="une alouette";</script>'; => ça marche pas

Quelqu'un voit ce que je fais de travers svp ???

Merci beaucoup d'avance

9 réponses

Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
14
essaies avec cela...




var Tableau = new Array();
Tableau["Nom"]      = "Ton Nom";
Tableau["Prenom"]  = "Ton Prénom";


Tableau["Adresse"] = "Ton Adresse";

Tableau["Nom"] = "Joli le blaze";
alert(
Tableau["Nom"]);




;0)
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
bonjour,
   lu sur SelfHtml :

Les tableaux associatifs sont des tableaux dans lesquels l'accès aux différents éléments se fait à l'aide d'une chaîne de caractères. La chaîne de caractères est considérée comme clé pour l'accès. Tous les objets JavaScript, qui possèdent une propriété
name
ou
id
, comme par exemple les objets  [file:///D:/Utilitaires/selfhtml/javascript/objets/forms.htm forms] ou bien  [file:///D:/Utilitaires/selfhtml/javascript/objets/elements.htm elements], représentent pour JavaScript des tableaux associatifs.

Les tableaux associatifs sont particulièrement indiqués en relation avec des tableaux à plusieurs dimensions. Ils permettent, indépendamment de la position, de rechercher la valeur d'un élément. L'inconvénient en est que les méthodes de l'objet Array ne lui sont pas applicables. De même les tableaux associatifs ne connaissent-ils pas la propriété
length
. Les éléments d'un tableau associatif ne peuvent toujours être adressés qu'avec leur nom ou par une boucle  [file:///D:/Utilitaires/selfhtml/javascript/langage/boucles.htm#for_in for-in].

cordialement   Bul   Site
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
14
B
onjour

Un Array est indexé par un nombre et non une lettre
tabJS[0]     = > c'est BON
tabJS[ "m" ] => mais que vaut "m" ?




;0)
Messages postés
363
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
29 janvier 2007
1
C'était pour un essai lol pour faire un tableau associatif !!

Il est bien possible de faire monTableau['chaine'] = 'valeur';
Messages postés
363
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
29 janvier 2007
1
Là je peux plus essayer, mais j'essaierai lundi matin !! En tout cas merci de t'être penché sur le problème
Messages postés
363
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
29 janvier 2007
1
Ok :)

Ben en fait ça marchait, sauf que je faisait pas un alert comme toi, alors ça marchait pas.
Et puis il y a aussi le .length qui m'a induis en erreur, quand je demande la taille du tableau , il me retourne toujours 0, c'est normal ???
Messages postés
363
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
29 janvier 2007
1
Merci :) Je venais juste de tomber sur un truc similaire !!

D'ailleurs c'est bon tout marche! Pour retrouver le bon indice que je dois afficher, j'ai fais :
for (var clef in tabNumAffaire)
    {
        if(clef==codeAgenceChoisi)
        {
            window.document.getElementById("derniereAffaire").innerHTML = 'Dernier numéro d\'affaire : ' + tabNumAffaire[clef];
            trouve=true;
        }
    }
    if(!trouve)
    {
        window.document.getElementById("derniereAffaire").innerHTML = 'Aucun numéro d\'affaire';
    }

Et ça marche nickel !!
Merci à vous deux pour votre aide
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
merci surtout à PetoleTeam,
   moi je n'ai fait que citer une partie d'un document d'Aide.
cordialement   Bul   
Site
Messages postés
363
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
29 janvier 2007
1
Oui c'est vrai, mais tu as quand même répondu à ma question, donc c'est normal que je te remercie aussi !!
Mais oui, merci surtout à PetoleTeam, parce que s'il m'avait pas montré comment l'afficher correctement, j'aurais jamais remarqué que ça marchait lol