website logo
Auteur
avatar
Boris

Forum » » Le coin des codeurs » » besoin de récupérer les variables


Posté : 18 nov. 2011 à 12:22 icone du post

Déjà, améliorer l'écriture de ta requête. Le mot-clef AS n'est pas là pour faire beau.



$query = "SELECT  `annu_champ11` , COUNT(  `annu_champ11` ) AS compteur
FROM ".$NPDS_Prefix."$ModPath  
GROUP BY `annu_champ11` 
ORDER BY compteur ASC LIMIT 10 " ; 
   $result = mysql_query($query); 



Ensuite, améliorer ta boucle (pour gérer le cas où il y a moins de 10 résultats) et mémoriser les informations :


   $num_results = mysql_num_rows($result); 
   $i=0;
   $data_de_mon_module = array();
   while($row = mysql_fetch_array($result) and $i < 10)
   { 
      echo"<tr><td>"; echo $row['compteur'];echo"</td><td>";echo $row['annu_champ11'];echo"</td ></tr>";
      $data_de_mon_module[] = array($row['compteur'], $row['annu_champ11']);
      $i++;
   }




et pour finir, lire le contenu de tes données dans un autre script. Si c'est sur la même page, il suffit simplement d'accéder à la variable (si besoin, tu la définis en globale, avec un nom préfixé avec le nom de ton module, pour éviter tout conflit de variable)


foreach($data_de_mon_module as $key => $value) {
    echo "Compteur : ".$value[0]." - 2e champ : ".$value[1]."<br />";
}



Si besoin de transmettre à une autre page, soit tu stocke dans une table sql temporaire, soit tu sérialise dans un champ de formulaire :


echo "<input type=\"hidden\" name=\"mon_data\" value=\"".serialize($data_de_mon_module)."\" />";


et tu désérialise dans ton autre script :


$data_de_mon_module = unserialize($mon_data);



Voilà. Ca n'est qu'un exemple, mais si j'ai bien compris ce que tu veux, ca devrait t'aider.

Cet article provient de NPDS
https://www.npds.org/viewtopic.php?topic=25260&forum=5