IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
logo
Sommaire > Interaction php/javascript
        Conversion d'un tableau PHP de dimension N en tableau JavaScript
        Afficher un tableau php de N dimensions dans un arbre

rechercher
precedent    sommaire    suivant    telecharger


Auteur : torvalds17
Auteur : denisC
Version : 04/01/2006
Conversion d'un tableau PHP de dimension N en tableau JavaScript
Voici le code de la fonction php permettant la conversion :
<?php
function construisTableauJS($tableauPHP, $nomTableauJS){
   echo $nomTableauJS." = new Array();";
   for($i = 0; $i < count($tableauPHP); $i++){
      if(!is_array($tableauPHP[$i])){
         echo $nomTableauJS."[".$i."] = '".$tableauPHP[$i]."';";
      }
      else{
         construisTableauJS($tableauPHP[$i], $nomTableauJS."[".$i."]");
      }
   }
   return;
}
?>
Dans cette fonction, le code Javascript est généré dynamiquement par le Php. On utilise des echo (Php) pour écrire les ligne de code Javascript. Voici la déclaration du tableau en php :
$monTableauPHP = array(array("toutou", "toto"), array("titi", "tata", \
array("tonton", "tutu", array("quatrieme etage du tableau", 54))));
On peut éventuellement afficher le tableau grâce à :
<?php
echo "<pre>";
print_r($monTableauPHP);
echo "</pre>";
?>
Et voici le code permettant la création du tableau Javascript :
echo "<script type='text/javascript'>";
echo "<script type='text/javascript'>";
construisTableauJS($monTableauPHP, "monTableauJS");
document.write(monTableauJS.toSource());
echo "</script> ";
Vous obtenez ainsi un tableau Javascript : monTableauJS à partir d'un tableau php : $monTableauPHP


Auteur : siddh
Version : 04/01/2006
Afficher un tableau php de N dimensions dans un arbre
<html>
   <head>
      <title>tableaux</title>
      <style type='text/css'>
         .case{
            margin-left: 30px;
         }
         .liens{
            text-decoration: none;
         }
      </style>
      <script type='text/javascript'>
         function swap(elem){
            leparent = elem.parentNode;
            disp = 'none';
            if(elem.firstChild.innerHTML == '-'){
               elem.firstChild.innerHTML = "+";
               elem.lastChild.style.display = 'inline';
            }
            else{
               elem.firstChild.innerHTML = "-";
               elem.lastChild.style.display = 'none';
               disp = 'block';
            }
            for(var i=1;i<leparent.childNodes.length;i++){
               leparent.childNodes[i].style.display = disp;
            }
            
         }
         window.onload = function(){
            liens = document.getElementsByName('lesliens');
            for(var i=0;i<liens.length;i++)
               swap(liens[i]);
         }
      </script>
   </head>
   <body>
   <?
      function affiche($tab){
            foreach($tab as $key => $value){
               echo "<div class='case'>";
               echo "<a href='#' class='liens' name='lesliens' onclick='swap(this)'><span>-</span>&nbsp;",
$key,"&nbsp;<span class='count'>(",is_array($value) ? count($value) : "1",")</span></a>";
               if(is_array($value))
                  affiche($value);
               else
                  echo "<div class='case'>",$value,"</div>";
               echo "</div>";
            }
      }

      $montab = array("a" => array("b" => array("f" => "bla","g" => "bla"), 
"c" => array("d" => "bla","e" => "bla")),"h" => "bla");
      affiche($montab);
   ?>
   </body>
</html>

rechercher
precedent    sommaire    suivant    telecharger

Valid XHTML 1.1!Valid CSS!

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2006 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.