Tableau associatif

Résolu
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 - 30 juin 2006 à 15:53
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 - 3 juil. 2006 à 09:59
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

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
30 juin 2006 à 16:28
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)
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
3 juil. 2006 à 09:08
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
3
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
30 juin 2006 à 16:04
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)
0
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
30 juin 2006 à 16:06
C'était pour un essai lol pour faire un tableau associatif !!

Il est bien possible de faire monTableau['chaine'] = 'valeur';
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
30 juin 2006 à 16:50
Là je peux plus essayer, mais j'essaierai lundi matin !! En tout cas merci de t'être penché sur le problème
0
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
3 juil. 2006 à 08:28
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 ???
0
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
3 juil. 2006 à 09:10
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
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
3 juil. 2006 à 09:20
merci surtout à PetoleTeam,
   moi je n'ai fait que citer une partie d'un document d'Aide.
cordialement   Bul   
Site
0
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
3 juil. 2006 à 09:59
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
0
Rejoignez-nous