setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Les noms complets des priorités $priorities = [ 'prop1_priority' => 'Se loger dignement', 'prop2_priority' => 'Se nourrir sainement', 'prop3_priority' => 'Vivre dignement', 'prop4_priority' => 'Accès aux soins', 'prop5_priority' => 'Accès à l’éducation' ]; // Préparer une requête pour compter les occurrences de chaque valeur par priorité $counts = []; $totalResponses = 0; foreach ($priorities as $column => $label) { $stmt = $pdo->prepare("SELECT $column AS priority, COUNT(*) AS count FROM besoinsPrimaire2 WHERE valide = 1 GROUP BY $column"); $stmt->execute(); $results = $stmt->fetchAll(PDO::FETCH_ASSOC); foreach ($results as $row) { $priorityValue = (int) $row['priority']; $count = (int) $row['count']; $counts[$column][$priorityValue] = $count; $totalResponses += $count; } } // Calculer les pourcentages et trier les données par priorité 1 $summary = []; foreach ($priorities as $column => $label) { $priority1Count = $counts[$column][1] ?? 0; $totalForColumn = array_sum($counts[$column] ?? []); $percentage = $totalForColumn > 0 ? round(($priority1Count / $totalResponses) * 100, 2) : 0; $summary[] = [ 'label' => $label, 'priority1Count' => $priority1Count, 'percentage' => $percentage ]; } usort($summary, function ($a, $b) { return $b['priority1Count'] <=> $a['priority1Count']; }); // Affichage du tableau echo "

Résultats pour les besoins primaires

"; echo ""; echo ""; foreach ($summary as $row) { $graphWidth = $row['percentage'] * 3; // Ajustez le facteur pour modifier la taille du graphique echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; } echo "
NomNombre de fois nommé en priorité 1PourcentageGraphique
{$row['label']}{$row['priority1Count']}{$row['percentage']}%
"; } catch (PDOException $e) { echo "Erreur : " . $e->getMessage(); } ?>