Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
Projet
/
liste
:
code012.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php // Paramètres de connexion à la base de données $servername = "localhost"; $username = "votre_utilisateur"; $password = "votre_mot_de_passe"; $dbname = "votre_base_de_donnees"; $servername = "analogdepat.mysql.db"; $username = "analogdepat"; $password = "Un92pac007"; $dbname = "analogdepat"; // Créer une connexion $conn = new mysqli($servername, $username, $password, $dbname); // Vérifier la connexion if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // Requête SQL pour récupérer les données $sql = "SELECT name, element FROM lists"; $result = $conn->query($sql); // Tableau multidimensionnel pour stocker les résultats $data = array(); if ($result->num_rows > 0) { // Parcourir les résultats et les stocker dans le tableau while($row = $result->fetch_assoc()) { $name = $row['name']; $element = $row['element']; // Si la clé 'name' n'existe pas, créer un nouveau tableau if (!isset($data[$name])) { $data[$name] = array(); } // Ajouter l'élément au tableau correspondant à 'name' $data[$name][] = $element; } } else { echo "0 results"; } // Fermer la connexion $conn->close(); // Convertir le tableau en JSON $jsonData = json_encode($data); ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Tree View</title> <style> ul { list-style-type: none; } .nested { display: none; } .caret { cursor: pointer; user-select: none; } .caret::before { content: "\25B6"; color: black; display: inline-block; margin-right: 6px; } .caret-down::before { transform: rotate(90deg); } </style> </head> <body> <ul id="treeView"></ul> <script> // Récupérer les données JSON depuis PHP const data = <?php echo $jsonData; ?>; // Fonction pour créer le tree view function createTreeView(data, parentElement) { for (const name in data) { const li = document.createElement('li'); const span = document.createElement('span'); span.className = 'caret'; span.textContent = name; li.appendChild(span); const ul = document.createElement('ul'); ul.className = 'nested'; data[name].forEach(element => { const elementLi = document.createElement('li'); elementLi.textContent = element; ul.appendChild(elementLi); }); li.appendChild(ul); parentElement.appendChild(li); } } // Fonction pour déplier/replier les éléments function toggleNested(event) { const target = event.target; if (target.classList.contains('caret')) { target.classList.toggle('caret-down'); const nested = target.nextElementSibling; if (nested && nested.classList.contains('nested')) { nested.style.display = nested.style.display === 'block' ? 'none' : 'block'; } } } // Créer le tree view const treeView = document.getElementById('treeView'); createTreeView(data, treeView); // Ajouter l'événement de clic pour déplier/replier les éléments treeView.addEventListener('click', toggleNested); </script> </body> </html>