ouvag/admin/resultats.php

216 lines
8.3 KiB
PHP

<?php
include("inc/session.inc.php");
include("inc/config.inc.php");
include("inc/connect.inc.php");
include("inc/libchart.php");
include("inc/fonctions.inc.php");
// On regarde si il y a une AGE
if (checkago()) {$ago = true;} else {$ago = false;}
if (checkage()) {$age = true;} else {$age = false;}
if (checkcs()) {$cs = true;} else {$cs = false;}
// Préparation de la requete MySQL
$sql = "SELECT option_name, option_value FROM admin WHERE option_name = :option";
$stmt = $bdd->prepare($sql);
// On regarde le nombre de résolution d'AGO qui sera important par la suite pour créer la page de résultats
if ($ago) {
$option = 'resolution_ago_nb';
$stmt->bindParam(':option', $option, PDO::PARAM_STR);
$stmt->execute();
$results = $stmt->fetch();
$resolution_ago_nb = $results['option_value'];
}
// On regarde le nombre de résolution d'AGE qui sera important par la suite pour créer la page de résultats
if ($age) {
$option = 'resolution_age_nb';
$stmt->bindParam(':option', $option, PDO::PARAM_STR);
$stmt->execute();
$results = $stmt->fetch();
$resolution_age_nb = $results['option_value'];
}
// On compte le total de vote pour la résolution
$sql ="SELECT COUNT(*) AS nb FROM resultats";
$stmt = $bdd->query($sql);
$nb = $stmt->fetch();
$r_all = $nb['nb'];
// On compte pour chaque résolution d'AGO le nombre de oui, non et d'abstention
if ($ago) {
for ($i = 1; $i <= $resolution_ago_nb; $i++) {
// On compte pour chaque choix possible le nombre de vote
$sql ="SELECT COUNT(*) FROM resultats WHERE resolution_ago_".$i." = ? GROUP BY resolution_ago_".$i;
$stmt = $bdd->prepare($sql);
$stmt->execute(array('Oui'));
${'rago'.$i.'_oui'} = $stmt->fetchColumn();
$stmt->execute(array('Non'));
${'rago'.$i.'_non'} = $stmt->fetchColumn();
$stmt->execute(array('Abstention'));
${'rago'.$i.'_abst'} = $stmt->fetchColumn();
// Génération des graphs avec nos résultats
$chart = new HorizontalBarChart(600, 200);
$dataSet = new XYDataSet();
$dataSet->addPoint(new Point("Abstention", ${'rago'.$i.'_abst'}));
$dataSet->addPoint(new Point("Non", ${'rago'.$i.'_non'}));
$dataSet->addPoint(new Point("Oui", ${'rago'.$i.'_oui'}));
$chart->setDataSet($dataSet);
$chart->setTitle("Résultat pour la résolution d'AGO n°".$i);
$chart->render("img/resolution_ago_".$i.".png");
}
}
// On compte pour chaque résolution d'AGE le nombre de oui, non et d'abstention
if ($age) {
for ($i = 1; $i <= $resolution_age_nb; $i++) {
// On compte pour chaque choix possible le nombre de vote
$sql ="SELECT COUNT(*) FROM resultats WHERE resolution_age_".$i." = ? GROUP BY resolution_age_".$i;
$stmt = $bdd->prepare($sql);
$stmt->execute(array('Oui'));
${'rage'.$i.'_oui'} = $stmt->fetchColumn();
$stmt->execute(array('Non'));
${'rage'.$i.'_non'} = $stmt->fetchColumn();
$stmt->execute(array('Abstention'));
${'rage'.$i.'_abst'} = $stmt->fetchColumn();
// Génération des graphs avec nos résultats
$chart = new HorizontalBarChart(600, 200);
$dataSet = new XYDataSet();
$dataSet->addPoint(new Point("Abstention", ${'rage'.$i.'_abst'}));
$dataSet->addPoint(new Point("Non", ${'rage'.$i.'_non'}));
$dataSet->addPoint(new Point("Oui", ${'rage'.$i.'_oui'}));
$chart->setDataSet($dataSet);
$chart->setTitle("Résultat pour la résolution d'AGE n°".$i);
$chart->render("img/resolution_age_".$i.".png");
}
}
// On compte le total de vote pour le CS
if ($cs) {
$sql = "SELECT vote_cs FROM resultats";
$stmt = $bdd->prepare($sql);
$stmt->execute();
$nb_vote = $stmt->rowCount();
// On compte le nombre d'absention au vote pour le CS
$sql = "SELECT vote_cs FROM resultats WHERE vote_cs = :option";
$stmt = $bdd->prepare($sql);
$option = 'Abstention';
$stmt->bindParam(':option', $option, PDO::PARAM_STR);
$stmt->execute();
$nb_abstention_cs = $stmt->rowCount();
// On prépare la création du graph pour le CS
$chart = new PieChart(600, 400);
$dataSet = new XYDataSet();
// On va chercher la liste des candidats au CS
$sql = "SELECT option_name, option_value FROM admin WHERE option_name = :option";
$stmt = $bdd->prepare($sql);
$option = 'cs_candidats';
$stmt->bindParam(':option', $option, PDO::PARAM_STR);
// Exécution de la requête
$stmt->execute();
$results = $stmt->fetch();
$cs_candidats = $results['option_value'];
$cs_candidats = explode(",",$cs_candidats);
}
?>
<!DOCTYPE html>
<html lang="fr">
<head>
<?php include("theme/_head.php"); ?>
</head>
<body>
<!--[if lt IE 9]>
<p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
<![endif]-->
<?php
include("theme/header.php");
?>
<section id="pageresults">
<div class="auth">Vous êtes authentifié sous l'utilisateur : <?php echo $_SESSION['login']; ?>
<br />
<a href="inc/disconnect.inc.php">Se déconnecter</a>
</div>
<h2>Résultats</h2>
<p>
<span class="bold">Nombre de votes total : <?php echo $r_all ?></span>
<!-- # <br />
<span class="bold">Nombre de votes total : <?php echo $nb_vote ?></span> -->
</p>
<hr class="clr" />
<div>
<?php if ($ago) { ?>
<h2>Résolutions de l'Assemblée Générale Ordinaire</h2>
<?php for ($i = 1; $i <= $resolution_ago_nb; $i++) { ?>
<h2>Résolution <?php echo $i; ?></h2>
<p>
<span class="result_pres">Oui :<br /><?php echo ${'rago'.$i.'_oui'}; ?></span>
<span class="result_pres">Non :<br /><?php echo ${'rago'.$i.'_non'}; ?></span>
<span class="result_pres">Abstention :<br /> <?php echo ${'rago'.$i.'_abst'}; ?></span>
</p>
<p><img src="img/resolution_ago_<?php echo $i; ?>.png" /></p>
<hr class="clr" />
<?php } ?>
</div>
<?php
}
if ($age) { ?>
<div>
<h2>Résolutions de l'Assemblée Générale Extraordinaire</h2>
<?php
for ($i = 1; $i <= $resolution_age_nb; $i++) { ?>
<h2>Résolution <?php echo $i; ?></h2>
<p>
<span class="result_pres">Oui :<br /><?php echo ${'rage'.$i.'_oui'}; ?></span>
<span class="result_pres">Non :<br /><?php echo ${'rage'.$i.'_non'}; ?></span>
<span class="result_pres">Abstention :<br /> <?php echo ${'rage'.$i.'_abst'}; ?></span>
</p>
<p><img src="img/resolution_age_<?php echo $i; ?>.png" /></p>
<hr class="clr" />
<?php } ?>
</div>
<?php }
if ($cs) { ?>
<h2>Élection des membres du CS</h2>
<p><?php
// Pour chaque candidat on va créer une variable pour compter le nombre de vote pour ce candidat
foreach ($cs_candidats AS $element) {
$element2 = str_replace(' ', '_', $element);
${'vote_'.$element2} = 0;
$sql = "SELECT vote_cs FROM resultats";
$stmt = $bdd->prepare($sql);
$stmt->execute();
// On fait le tour des résultats à chaque candidat, et on incrémente le compteur de vote à chaque vote pour ce candidat
while ($results = $stmt->fetch()) {
foreach($results AS $ligne) {
$ligne = explode(",",$ligne);
if (in_array("$element", $ligne)) {${'vote_'.$element2}++;}
}
}
${'vote_'.$element2} = ${'vote_'.$element2} / 2;
// Le tour des résultats est terminé, on génére un point sur le graph avec le nom et le nombre de vote pour ce candidat
$dataSet->addPoint(new Point($element, ${'vote_'.$element2}));
// On ajoute une ligne texte en plus du graph
echo '<span class="result_pres_cs">'.$element.' :<br />'.${'vote_'.$element2}.' voix</span>';
}
//Clore la requête
$stmt->closeCursor();
$stmt = NULL;
// On finalise le graph CS
$chart->setDataSet($dataSet);
$chart->setTitle("Résultat pour l'élection des membres du CS");
$chart->render("img/vote_cs2.png");
?>
</p>
<p class="clr"><img src="img/vote_cs2.png" /></p>
<p>Abstention : <?php echo $nb_abstention_cs; ?></p>
<?php } ?>
</section>
<?php include("theme/footer.php"); ?>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.10.2.min.js"><\/script>')</script>
<script src="js/main.js"></script>
</body>
</html>