Bonjour,
J'ai dans ma base de données des informations qui me permettent de créer les listes d'options de <select>. Sauf que ces informations ne peuvent changer que sur mon action manuelle en bdd, à une fréquence allant de 10j à 2ans selon les cas.
Bref, à chaque affichage de formulaire je fais des
Ça me semble un peu bête de faire ces requêtes à chaque fois pour ramener les mêmes données.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $stmt = $mysqli->prepare('SELECT TrucID, TrucName FROM Truc WHERE Language = ?'); $stmt = bind_param('i', $_SESSION['UserLanguageID'); $stmt->execute(); while($stmt->fetch()) { // <option value="id">name</option> // aussi un selected en fonction de l'id potentiellement déjà sélectionné par mon user avant erreur de check du formulaire } $stmt->close();
Pensez vous qu'il serait plus performant de mettre ça en cache dans un array qui serait dans $_SERVER et contiendrait la liste des couples ID/Name pour chaque langue ? (je ne peux pas mettre carrément le code html déjà fait vu que je dois gérer le "selected")
Et refaire une requête donnée uniquement si la précédente date d'il y a plus de 1 heure ou si je n'ai pas encore les données dans $_SERVER pour la langue en entrée ?
De la même façon, j'ai un menu dynamique personnalisé qui fait plusieurs requêtes, ais-je intérêt à mettre dans un $_SESSION le bout de menu qui n'a pas besoin d'être rafraichi à chaque chargement de page, et qui ne serait donc plus généré qu'au login ? (directement un string html cette fois)
Merci,
Cordialement,
aze555666
Partager