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



Auteur : Sub0
Version : 16/01/2006
Comment détecter si Javascript est activé ou non
<?php

if(!isset($_GET['js'])){
  $url=@eregi_replace($_SERVER['DOCUMENT_ROOT'],
     'http://'.$_SERVER['HTTP_HOST'],$_SERVER['SCRIPT_FILENAME']);
  echo '<script type="text/javascript">window.location.href="'.$url.'?js=1";</script>';
  echo '<noscript><meta http-equiv="refresh" content="0; url='.$url.'?js=2"/></noscript>';
}

if($_GET['js']=='1') echo 'JS activé<br/>';
if($_GET['js']=='2') echo 'JS introuvable<br/>';

?>
La détection ajoute le paramètre "js" à l'url.
Pour sauver cette info, on peut soit transmettre ce paramètre de page en page en ajoutant ce paramètre à l'url, soit utiliser les sessions, une base de données,
un fichier nommé avec l'ip du client, ou encore la variable $_SERVER['REMOTE_USER']


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>


Consultez les autres pages sources


Valid XHTML 1.0 TransitionalValid 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.