Compter le nombre de requêtes

Pour calculer vos requêtes, il va falloir créer un fonction que nous allons appeller requête();. Elle va exécuter toutes les requêtes et incrémenter une variable qui contiendra le nombre de requêtes effectuées.

Qu'est-ce qu'une requête?

Elle est effectuée à chaque fois que l'on utilise mysql_query. Si dans une page vous utilisez deux fois mysql_query(); vous aurez effectué deux requêtes.

La fonction



C'est parti pour le code!

function requete($query){
global $nombre_requete;

Qu'est-ce que ce "global" que tu as mis devant la fonction?

Ca sert à déclarer que la fonction est... globale donc qu'elle pourra être utilisée dans toute la page, sans problème!
Bon, continuons notre fonction!

$nombre_requete++;
return mysql_query($query);
}

Voilà, votre fonction est déjà finie. Il vous suffit de remplacer dans votre code tous les "mysql_query" par des "requête". Heureusement, si vous utilisez Notepad++, il suffit de cliquer sur "Recherche", puis sur "Remplacer" et de remplacer tous les "mysql_query" par "requête".
Il manque tout de même une petite chose dans ce script. Il faut initialiser la variable $nombre_requête.

$nombre_requetes = 0;
function requete($query){
global $nombre_requetes;
$nombre_requetes++;
return mysql_query($query);
}

On rappelle un peu comment fonctionne la fonction. En premier lieu, on initialise la variable $nombre_requetes. Ensuite, on l'utilise comme variable globale dans la fonction qui se borne à l'incrémenter de 1 et à faire la requête. Pour finir, la fonction renvoie la requête effectuée; vous n'avez plus qu'à afficher la variable $nombre_requetes.

Maintenant, votre fonction est vraiment terminée. Pour afficher le nombre de requêtes, il suffit de taper ceci:

echo'Vous avez effectué '.$nombre_requetes.' requêtes sur cette page.';

Et si je veux afficher le nombre de requêtes qu'aura fait le visiteur pendant toute la durée de sa visite?


Pour conserver le nombre d'une page à l'autre, soit on la passe en argument du lien, ce qui serait fort lourd, soit on utilise les sessions.

Requêtes et sessions



La première chose à faire dans la page est d'ouvrir la session comme ceci:

<?php
session_start();

Ensuite, il faut regarder si c'est la première page que regarde le visiteur ou non. Pour ce faire, il suffit de vérifier si la variable session comprenant le nombre de requêtes existe. Après, il ne reste plus qu'à utiliser notre fonction.

if(!empty($_SESSION['requetes'])){
$nombre_requetes = $_SESSION['requetes'];
}
else{
$nombre_requetes = 0;
}
//maintenant, la fonction
function requete($query){
$nombre_requetes++;
//on stocke le nombre de requêtes dans une variable session:
$_SESSION['requetes'] = $nombre_requetes;
return mysql_query($query);
}

Il y a quelques petits changement dans ce code. Tout d'abord, on n'utilise pas isset() mais !empty(); comme ça, on est sûr que la variable existe et qu'elle n'est pas vide. Ensuite, on n'utilise plus global $nombre_requêtes car la variable session la remplace. Il vous suffit, en bas de vos pages, d'afficher ceci:

echo'Vous avez effectué '.$_SESSION['requetes'];.' requêtes sur ce site.';

Voilà, vous pouvez maintenant afficher le nombre de requêtes ainsi que le temps d'exécution en bas de chaque page.

Creative Commons License
Sauf mention contraire, le contenu de cette page est sous licence Creative Commons
Page générée en 0.3438 secondes.
Retour en haut de la page
Imprimer cette page