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>  
Publicités

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 )

Photo Google+

Vous commentez à l'aide de votre compte Google+. 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 )

Connexion à %s

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.

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