begin process at 2012 05 29 21:35:11
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Divers

 > 

problème tableau


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

problème tableau

mardi 6 juin 2006 à 09:13:57 | problème tableau

chamallow

Bonjour,

J'aimerais savoir comment on passe un tableau en javascript. En fait je sais faire, mais la variable (le tableau) est déclaré en php, et est passé en paramètre d'une fonction javascript, qui est appellée quand on change la sélection d'une combobox.
Et donc il faut que je passe le tableau mais à l'indice sélectionnée (enfin à l'identifiant choisie)!

echo ("<form><select name='selectResultat' onChange=\"javascript:afficheContacts(this.options[this.selectedIndex].value,'$contact[this.options[this.selectedIndex].value]')\"><option value='#'>Entreprise : </option>");

'$contact[this.options[this.selectedIndex].value]' => ne marche pas

Est-ce que quelqu'un voit comment le faire svp?? Merci beaucoup d'avance!
mardi 6 juin 2006 à 11:34:26 | Re : problème tableau

chamallow

J'ai peut-être pas été très très claire ...
mardi 6 juin 2006 à 13:58:44 | Re : problème tableau

bultez

Membre Club
clair : ce n'est pas ça...
mais : qui n'y  a donc dans $contact ?
et : quoi que fait la function affichContacts ?
et : que si on gère le select pourquoi ne pas mettre this,
au ieu de ce $contact dont on ne connais pas le contenu ?

cordialement   BulAnime.gifBul site.gif [ Lien ]
/B>
mardi 6 juin 2006 à 15:11:16 | Re : problème tableau

chamallow

Ok.

Alors je vais essayer de tout bien réexpliquer lol

En fait, j'ai une table dans une base de données qui contient des  noms d'entreprises, et une autre qui contient les contacts liés à chacune des entreprises (et encore une pour faire le lien entre les deux mais bon).
Donc en fait, ce que je veux, c'est que l'utilisateur entre le nom (ou une partie du nom) d'une entreprise. Je recherche toutes les entreprises qui correspondent et je les affiche dans une combobox (ça c'est OK).
Maintenant on m'a demandé également d'afficher les contacts en même temps. Donc je me suis dis que j'allais remplir une seconde combobox pour mettre mes contacts.
Maintenant vu que le contenu de cette deuxième combobox change en fonction de lapremière, je me suis dis que j'allais passer par du javascript.

Alors au départ je fais ma requête PHP qui récupère mes entreprises. Pour chaque entreprise, je mets le nom dans la combobox et l'id en value de l'option. Et je fais également une requête pour récupérer les contacts que je met dans un tableau pour l'indice de l'entreprise, comme ça on s'y retrouve plus vite.
Ce qui donne : $contact[idEntreprise] = contacts récupérés dans la bd et liés à l'idEntreprise en cours

Ensuite, la fonction affichContacts devrait (c'est ce que je voudrais arriver à faire), récupérer l'identifiant de l'entreprise sélectionnée dans la combobox (donc this.options[this.selectedIndex].value) et également le tableau (enfin la case) qui est lié à l'entreprise (donc $contact[this.options[this.selectedIndex].value]).
Donc la fonction parcourait le tableau pour l'id que j'ai recu en paramètre afin d'afficher les contacts dans la deuxième combobox.

En fait au début je passais que $contact, mais j'ai pas réussi à le parcourir en javascript (j'ai pas compris pourquoi), donc jme suis dis que je donnerais directement la bonne case du tableau, mais je trouve pas la bonne syntaxe pour le passage de paramètres !!

Voilà j'espère que ça t'aidera à m'aider lol Merci en tout cas de t'être penché sur le problème!
mercredi 7 juin 2006 à 07:44:35 | Re : problème tableau

bultez

Membre Club

à priori 2 questions.

1° afficher les lignes dont le début = caractères frappés.
     j'ai mis dans ce site, un "traitement sur les select"
     où un exemple existe.
2° 2 select liés.
    soit en javascript, ce qui suppose que toutes les
           données possibles du 2ème select soient
           déjà en javascript, dans un array par exemple
           ( ou en html )
    soit en php, et là, le 2ème select est généré par
           une requête dans la base de données à partir
           de ce qu'a sélectionné l'utilisateur dans le 1er.

pour utiliser une variable php, en javascript :
html ou javascript.....<?php echo $variable;?>....

cordialement   BulAnime.gifBul.   site.gifSite
/B>

mercredi 7 juin 2006 à 08:09:32 | Re : problème tableau

chamallow

Bon alors pour ton 1°, le traitement des select j'avais déjà vu lol, et bon c'est pas mon problème puisque ça ça marche.
Pour le 2°, jsuis obligé de faire la requête en php, d'ailleurs elle est faire d'avance, seulement après faut récup la bonne partie du tableau pour l'afficher.
Seulement le problème c'est que j'arrive pas à envoyer ma variable php au javascript ! Soit je me retrouve avec un truc undefined, soit il récupère un truc bizarre (par exemple, j'avais réussi à récupérer un tableau, quand j'ai demander de me l'afficher case par case en alert, il m'a afficher A puis R puis R puis A puis Y).

jeudi 8 juin 2006 à 08:38:59 | Re : problème tableau

bultez

Membre Club
en fait, on n'envoie pas une variable php au javascript.
php, sur le serveur, crée/génère la page html/javascript,
puis l'envoie vers le client, où le javascript s'exécute.

[ Lien ]
le 1er chapitre parle des "relations" javascript/php
et il y a, "un peu plus bas", un exemple de 2 select liés.
des exemples/explications existent aussi ici même.

cordialement   BulAnime.gifBul.site.gifSite

/B>
jeudi 8 juin 2006 à 09:15:04 | Re : problème tableau

chamallow

Je me suis mal exprimée, désolée. On va finir par y arriver lol

Je sais bien tout ce que tu as dis, et je voulais éviter de recharger la page en passant les paramètres de la première combobox en passant par du javascript.

Bon alors je pense que c'est un problème de syntaxe, parce que mon tableau remplit en PHP est bon (oui je l'affiche dans le code PHP et il est nickel), seulement j'arrive pas à l'utiliser en javascript (quand je change de choix dans la combobox).

On reprends

Je fais une requête SQL en PHP et je récupère toutes les entreprises correspondant à ma recherche. Pour chacune des entreprises, je cherche les contacts qui y sont liés. A chaque ligne résultat, je la met dans un tableau $contact à l'indice "identifiant de l'entreprise".
Ce qui fait que dans mon tableau $contact, j'ai une "case" par entreprise (qui est l'indice des entreprises retourné par la première requête),
puis pour chacune de ces cases entreprises, j'ai une "case" par contact liée trouvé, et enfin pour chacune de ses cases contact, j'ai un tableau qui contient les informations (les champs de la base) pour les contacts.

Maintenant, je veux que quand je change le choix de ma combobox entreprises, j'appelle une fonction javascript qui va me remplir la deuxième combobox avec les bons contacts (qui sont dans le tableau $contact hein).

Donc, ça donne en code allégé (lol) :

$requete = "SELECT idEntite,nomEntite FROM devis_entite WHERE nomEntite LIKE '%".$_POST["entreprise"]."%' AND categorie='".$_POST["cat"]."' ORDER BY nomEntite ASC;";
$resultat = SQL_SELECT_ROWS($requete);
//On exécute la requête
$nbResultat = count($resultat); //On récupère le nombre de résultat
if($nbResultat==1)
{
           //Si aucun résultat n'a été trouvé, on prévient l'utilisateur :
           echo 'Aucun résultat n\'a été trouvé !';
}
else
{
           $contact = array();

          echo ("<form><select name='selectResultat' onChange=\"javascript:afficheContacts(this.options[this.selectedIndex].value,'$contact')\"><option value='#'>Entreprise : </option>");
           for($i=1 ; $i<$nbResultat ; $i++)
           {
                     echo '<option value="'.$resultat[$i][0].'">'.$resultat[$i][1].'</option>';
                     $reqContact = "SELECT c.idContact,c.nomContact FROM devis_contact c inner join devis_entiteContact ec on c.idContact=ec.idContact WHERE ec.idEntite=".$resultat[$i][0]." ORDER BY nomContact ASC;";
                      }
                            $contact[$resultat[$i][0]] = SQL_SELECT_ROWS($reqContact); //On exécute la requête
               }
                echo "</select>";
}

Bon ben le problème c'est le paramètre rouge qui est donné à la fonction javascript (le premier marche bien c'est ok).
Si je passe $contact (le tableau entier donc) comme ci-dessus, et que je fais alert("Nombre d'élements : " + contactsLies.length); dans la fonction javascript(contactLies c'est $contact).Il me dis qu'il y a 5 élément, quand je les affiche ça met met A,R,R,A,Y.

Si je mets juste $contact (sans l'entourer de '), il me dis que y'a un élément, et quand j'essaye de l'afficher, il me met undefined.

Si je lui donne un bon indice directement ('$contact[27]'), il me dit qu'il y a 0 élément.

Enfin bref, je vois pas comment lui donner mon tableau là.

Merci pour votre aide !!
jeudi 8 juin 2006 à 15:09:56 | Re : problème tableau

chamallow

Est-ce qu'il ne faudrait pas convertir le tableau php en tableau javascript ?? parce que je suis tombée sur ce genre de sources sur le forum phpcs ...
vendredi 9 juin 2006 à 08:41:17 | Re : problème tableau

chamallow

Bon ben j'essaye de le transformer en tableau javascript (j'ai essayé plusieurs façons trouvées), mais toujours rien !! je commence à me tirer les cheveux lol

1 2

Cette discussion est classée dans : problème, javascript, tableau, passe


Répondre à ce message

Sujets en rapport avec ce message

Récupéré un tableau php avec Javascript [ par Blacknight91titi ] Bonjours a tous.Voila mon problème.Je créer un tableau php grace au résultat que j'ai obtenu de ma base de donée et j'aimerai trasférer ces résultats Problème avec meun déroulant en Javascript [ par Octocat ] Bonjour à tous, je crée actuellement un menu en Javascript du même genre que le site Spartoo. Grossomodo, c'est différents onglets, on lorsqu'on pass les évenement javascript [ par soukaouta ] Bonjour, j'ai un problème avec l'évènement onClick, dans un premier temps,j'ai un input de type submit,sans évenement,quand je clique la dessus la pag Sujet : Remplissage d'un tableau JavaScript [ par lilitaco ] Bonjour a tous, j'ai besoin d'aide car je viens de créer mon tableau JS de 11 colonnes et 11 lignes soit un total de 121 cases. Maintenant mon problè Problème de Javascript [ par Gloubi91 ] Bonjour à tous et à toutes, Je suis actuellement en phase de test pour un site que je voudrais lancer prochainement, et j'ai dans l'idée de créer une comment retrouver une clé dans un tableau (array) [ par themagician67 ] Bonjour, Débutant en javascript, je recherche une solution à mon problème. En php, il existe la fonction array_key_exists() mais je ne trouve pas l'é Problème de tri et de filtre [ par Aoigami ] Bonjour développeurs, développeuses ! Je suis une étudiante en informatique et mon entreprise m'a demandé de créer un outil en PHP/javascript :) En javascript et php [ par anthony428 ] Bonjour à tous, je me suis mis à javascript depuis peu et d'habitude, je code plutôt en php mais il faut dire que les fonctions javascript offrent un Je ne trouve pas le problème [ par franckjs ] Bonjour à tous. Je débute sur ce forum et ne sais pas si je poste au bon endroit. J'ai un petit souci concernant une fonction en javascript qui est s Transformer un tableau d'objets Php en tableau d'objets Javascript [ par alteus34 ] Bonjour, J'ai un tableau d'objets en Php ( mysql_fetch_object($handle)) que je dois transformer en tableau d'objets en javascript ! Y a t-il une fonc


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,983 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales