Bonjour,
J'ai développé un petit module dans lequel j'utilise MySQL et souhaiterais mettre en cache les données récupérées depuis une table de BDD afin d'afficher des images stockées dans un dossier et identifiable par des numéros stocker dans la BDD. Voici mon code :
Mon code fonctionne correctement et l'image est affichée. Le problème que est bien que la mise en cache est à Paramètres globaux la donnée (MaxId) recuperée depuis la table n'est pas cachée car il suffit que je modifie le maxId dans la table tout de suite après l'affichage et j'obtiens la nouvelle données. Alors que je dois avoir celle qui doit-être mise en cache (d'avant la modification). Bon, je jette un coup d’œil dans le cache, le dossier du module existe bel et bien mais il est vide de même pour d'autres modules tiers que j'ai installer, ils sont vides. Sauf que je trouve des fichiers de ce genre 1eebb1240168958fbf9f87a08c0e1e76.spc.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 <?php $my_table='table_sites'; $sql = "SELECT MAX(Id) FROM {$my_table} where status='valide'"; $query = mysql_query($sql); $row = mysql_fetch_array($query) OR die(mysql_error()); $MaxID = $row['MAX(Id)']; $sql = "SELECT url FROM {$my_table} where Id='".$MaxID."'"; $query = mysql_query($sql); $row = mysql_fetch_array($query) OR die(mysql_error()); $url = $row['url']; $file=$MaxID."."."jpg"; $slash='/'; $dossier = "uploads/images"; $dossier .=$slash.$file; mysql_close(); /*ICI J'AFFICHE L'IMAGE IDENTIFIABLE PAR SON NUMERO RECUPERER DANS $MaxId*/ echo '<a target="_blank" href='.$url.'><img src="'.$dossier.'" border="2" width="150" height="112" alt\"Image aléatoire"/>'; ?>
la configuration du cache est à Oui avec 180 mn de durée de vie dans l'onglet System de Configuration Générale
SVP qu'es-ce qui cloche ?
A moins qu'il faille rajouter quelque chose dans mon code pour la mise cache....
Je vous remercie pour votre aide
Partager