optimisation: requête bdd ou $_SERVER
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
Code:
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(); |
Ça me semble un peu bête de faire ces requêtes à chaque fois pour ramener les mêmes données.
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