Ajax et PHP

L’utilité du PHP est par exemple pour les traitements sur les fichiers, ici récupération des fêtes du jour dans un tableau JSON et traitement dans une page HTML du résultat.

 <?  
  ///////////////////////////////////////////////////////////////////////////////  
  // Version: 2.0 - AndroLogiciels - D'après Jérôme DESMOULINS         //  
  // Description:                               //  
  //  Ce script affiche, la ou les fêtes du jour               //  
  //  Pour l'utiliser il suffit de placer include("fete.php"); dans un script //  
  //  Attention: le fichier fete.txt doit se trouver dans le repertoire    //  
  // Adaptation (05/2014) andrologiciels :                   //  
  // Retourne un objet JSON contenant le tableau des fêtes du jour      //  
  ///////////////////////////////////////////////////////////////////////////////  
  //-- Récupèration de la date actuelle  
  $jour=date("d");  
  $mois=date("m");  
  $tab=array();  
  $tabtmp=array();  
  $nbfete=0;  
  //-- Recherche de cette date dans le fichier de données  
  $fp=fopen("fete.txt","r");  
  while ( ! feof($fp) )  
  { $ligne=fgets($fp,255);  
   //-- On extrait le prénom fêté  
   $pos=strpos($ligne,';');  
   $prenom=substr($ligne,0,$pos);  
   $ligne=substr($ligne,$pos+1,strlen($ligne)-$pos);  
   //-- Le jour de cette fête  
   $pos=strpos($ligne,';');  
   $jourtrouve=substr($ligne,0,$pos);  
   //-- Le mois de cette fête  
   $moistrouve=substr($ligne,$pos+1,strlen($ligne)-$pos-2);  
   //-- Si on la trouve, on affiche la fête du jour  
   if (($jour==$jourtrouve) && ($mois==$moistrouve))  
   { $nbfete=++$nbfete;  
    $tabtmp["fete"]=$prenom;  //-- Contient la fête trouvée  
    array_push($tab, $tabtmp); //-- Ajoute à la liste des fêtes du jour la fête trouvée  
    unset($tabtmp);       //-- efface le tableau temporaire  
   }  
  }  
  fclose($fp);  
  $tabtmp["nbfete"]=$nbfete;  
  $tabtmp["tabfete"]=$tab;  
  $jsonstring = json_encode($tabtmp);  
  echo $jsonstring; //-- Retourne le tableau JSON des fêtes du jour  
  //-- $jsonstring = {"nbfete":2,"tabfete":[{"fete":"Honore"},{"fete":"Weena"}]}  
 ?>  

Le fichier HTML :

 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">  
 <html>  
  <head>  
  <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">  
  <title>Affiche fête</title>  
 </head>  
 <script>  
 function DemandeFete()  
 {var request = new XMLHttpRequest();  
  request.onreadystatechange = function()  
  {if (this.readyState == 4) {  
   if (this.status == 200) {  
     if (this.responseText != null) {  
       var sFete=this.responseText;  
       //-- Conversion en doc HTML            
       var doc = document.implementation.createHTMLDocument("example");  
       doc.documentElement.innerHTML = sFete;  
       var resultat=doc.body.textContent;  
       resultat=resultat.trim();  
       //-- Traitement du JSON  
       var res="Pas de fête";  
       var json = JSON.parse(resultat);  
       var nbfete=json.nbfete;   
       for (var i = 0; i < nbfete; i++)  
        {if (res==("Pas de fête"))  
                      res=json.tabfete[i].fete;                 
                  else  
                      res=res+", "+json.tabfete[i].fete;                    
                  }  
                //-- Affichage du résultat  
       document.ajax.dyn.value= res;  
             }}}}  
       //-- Url d'obtention de(s) fête(s) retourne un tableau JSON de strucuture   
       //-- {"nbfete":2,"tabfete":[{"fete":"Honore"},{"fete":"Weena"}]}  
    request.open("GET", "http://andrologiciels.is-great.net/testfete.php", false);  
    request.send(null);}    
 </script>  
 <body onLoad="DemandeFete()"  
    style="background-color: rgb(255, 255, 204); color: rgb(0, 0, 0);">  
 <FORM name="ajax" method="POST" action="">                 
  <p></p>  
  <p>Fête du jour :   
   <input type="text" name="dyn" size="32" value="">  
  </p>  
 </FORM>  
 </body>  
 </html>  

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Articles récents
Commentaires récents
fatima sur Bienvenue !
AdminDroid sur Bienvenue !
fatima sur Bienvenue !
Archives
Catégories
%d blogueurs aiment cette page :