Bonjour,
Voila je rencontre un petit problème avec mon code.
Pour l'instant je fais 2 requêtes, mais s'il est possible d'en faire une seule ça m'arrangerait :)
Voilà les 2 requêtes depuis php. J'aurais besoin aussi du total de votes sur les 7 derniers jours pour pouvoir faire un pourcentage (ici ça aurait été la taille du tableau récupéré par fetchAll sur la 2eme requête)
$query = $bdd->prepare('SELECT candidat,nom_complet FROM candidats');
$query = $bdd->prepare('SELECT id_candidat FROM votants WHERE date_vote BETWEEN DATE_SUB(NOW(), INTERVAL 7 DAY) AND NOW()');
Voilà le détail des champs de mes tables:
table candidats:
Colonne Type
id int(11)
candidat varchar(20) utf8_general_ci
votes int(11)
nom_complet varchar(200)
table votants:
Colonne Type Interclassement Opérateur Valeur
id int(11)
id_candidat varchar(20) utf8_general_ci
ip varchar(20) utf8_general_ci
user_agent varchar(220) utf8_general_ci
uuid varchar(50) utf8_general_ci
date_vote datetime
Dans la table candidat le nombre total de votes par candidat est comptabilisé, mais aucune information de date, c'est pour ça que je dois passer par une requête directe sur la table des votants pour avoir les votes sur les 7 derniers jours.
Chaque votant vote pour un candidat (stocké dans id_candidat qui sera le même que candidat dans la table candidats) puis les informations pour sécuriser les votes, ip, uuid qui est un numéro unique, user_agent, la date du vote etc...
Vu que pour avoir un résumé rapide du nombre de vote affiché à chaque génération de la page html, pour que ce soit rapide j'ai mis le total des votes dans la table candidats, du coup ça marche bien, et c'est rapide....Mais pour avoir un total sur 7 jours seulement je suis obligé de repasser par le comptage des votes.
J'espère que ça sera clair :) (je doute un peu mais bon)