Creer une arborecense a partir de donnees sql
Résolumont_dani Messages postés 232 Date d'inscription Statut Membre Dernière intervention -
Bonjour
J ai une table
id pais grupo cat sub_cat_1 sub_cat_2 sub_cat_3 nombre_variable titulo texto
1 ES NOSOTROS INICIO sin_sub sin_sub sin_sub carousel1 CAROUSEL1 ffffffffffffff
14 ES NOSOTROS INICIO sin_sub sin_sub sin_sub carousel2 carousel2 agua fresca y reposo para hacer bien el camino
3 IT NOSOTROS NOSOTROS sin_sub sin_sub sin_sub nosotros en italiano nosotros somos los de la
4 ES NOSOTROS QUE_ES historia casa sin_sub sin_sub historia_casa que es historia casa
5 ES NOTICIAS NOTICIAS NOTICIAS DE LA CANSERA la casa sub 3 du 25/5/58 noticias_du_01_01_2022 Notiica del 01/01/2022 este el las noticias del 01/01/2022
6 IT NOSOTROS INICIO sin_sub sin_sub sin_sub carousel1 italiano dskfhsdkhdfjkhsdklfh
7 ES NOSOTROS QUE_ES nuestro compromiso sin_sub sin_sub nuestro_compromiso nuestro compromiso
8 ES NOTICIAS NOTICIAS NOTICIAS DU CHEMIN sin_sub sin_sub noticias_du_chemin estadisticas estadistidacas del camino
9 ES NOTICIAS NOTICIAS NOTICIAS DE LA CANSERA la obra sin_sub noticias_obra las fachadas las nuevas obras d ela fachadas de la casa
10 ES NOTICIAS NOTICIAS NOTICIAS DE LA CANSERA sin_sub sin_sub noticias_obra-2 El porche en obra le nouveau porche d entree
11 ES NOTICIAS NOTICIAS meteo sin_sub sin_sub meteo la meteo el tiempo
12 FR NOTICIAS NOTICIAS INFO DE LA CANSERA les travaux sin_sub noticias_obra las facades les nouvelles facadesa d e la maison
13 ES NOSOTROS NOSOTROS sin_sub sin_sub sin_sub historia_casa historia de la casa la casa es de todo los tiem,po casa de acogida
15 ES NOTICIAS sin_sub sin_sub sin_sub sin_sub var_sin_sub titulo vide texte vide
16 ES NOTICIAS NOTICIAS sin_sub sin_sub sin_sub sin_kli categhoria vide categoria vide
Je voudrai obtenir l'arborecense suivante:
NOTICIAS (grupo)
- NOTICIAS (CAT)
- NOTICIAS DU CHEMIN (SUB_CAT)
*/* ESTADISTICAS (TEXTE)
- NOTICIAS DE LA CANSERA (SUB_CAT)
- NOTICIAS DE LA CANSERA (SUB_CAT)
- LA OBRA (SUB_CAT)
*/* ESTADISTICAS (TEXTE)
- LA CASA (SUB_CAT)
- SUB 3 DU 25/5/58 (SUB_CAT)
*/*noticia del 1/1/2022 (TEXTE)
- METEO (sub_cat)
*/* meteo (TEXTE)
J'ai préparé ceci:
$cat = $_POST["pestaña"]; echo "<table border='1' width='80%'>"; //AFFICHAGE DE LA CATEGORIE $liste_1 = $sql_texto-> prepare ('SELECT * FROM variables_textos WHERE grupo ="'.$cat.'" AND pais="ES" '); $liste_1->execute(); $res_1 = $liste_1->fetchAll(); foreach ( $res_1 as $row ) { $categoria = $row['cat']; $marge = 35; if($categoria != "sin_sub") { $categorie = $categoria; lignecategorie($marge, $categorie); $liste_2 = $sql_texto-> prepare ('SELECT * FROM variables_textos WHERE cat ="'.$categorie.'" AND pais="ES" '); $liste_2->execute(); while ($l_2 = $liste_2->fetch()) { $sub_cat_1 = $l_2['sub_cat_1']; $marge = 70; if($sub_cat_1 != "sin_sub") { $categorie = $sub_cat_1; lignecategorie($marge, $categorie); } } } else { $marge = 150; $titulo = $row['titulo']; //$titulo = $l_1_1['titulo']; lignetitulo($marge, $titulo); } } echo "</table>"; function lignecategorie($marge, $categorie) { ?> <tr> <td width='70%' > <span style='margin-left:<?php echo $marge;?>px'><?php echo $categorie;?></span> </td> <td></td> <td></td> <td></td> </tr> <?php } function lignetitulo($marge, $titulo) { ?> <tr> <td width='70%' > <span style='margin-left:<?php echo $marge;?>px'><?php echo $titulo;?></span> </td> <td></td> <td></td> <td></td> </tr> <?php }
Mais avec ceci le resultat est :
NOTICIAS
NOTICIAS DE LA CANSERA
NOTICIAS DU CHEMIN
NOTICIAS DE LA CANSERA
NOTICIAS DE LA CANSERA
meteo
NOTICIAS
NOTICIAS DE LA CANSERA
NOTICIAS DU CHEMIN
NOTICIAS DE LA CANSERA
NOTICIAS DE LA CANSERA
meteo
et ainsi de suite 4 fois.
Comment puis-je obtenir l'arborecense correct?
Ou est mon erreur?
Merci pour votre aide
- Creer une arborecense a partir de donnees sql
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Créer un compte google - Guide
- Créer une adresse hotmail - Guide
- Créer une vidéo à partir de photos - Guide
- Créer une icone à partir d'une image - Guide
24 réponses
Essaye ce code PHP et si besoin... adapte le à tes besoins
<?php //-----------------------------------------------------------------------// // Affichage des éventuelles erreurs php //-----------------------------------------------------------------------// error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); //-----------------------------------------------------------------------// // fonction qui permettra de convertir un array en arborescence //-----------------------------------------------------------------------// function buildTree(array $elements, $parentId = 0) { $branch = array(); foreach ($elements as $element) { if ($element['parent_id'] == $parentId) { $nodes = buildTree($elements, $element['id']); if ($nodes) { $element['nodes'] = $nodes; } $branch[] = $element; } } return $branch; } //-----------------------------------------------------------------------// //on récupère les données à traiter en bdd //-----------------------------------------------------------------------// $db = mysqli_connect('localhost', 'root', '', 'variables_textos'); $tree_data=array(); $sql = 'SELECT id, item_name as name, item_name as text, parent_id FROM tbl_categories'; $result = mysqli_query($db, $sql); if(!$result){ echo("Erreur dans la requête: " . mysqli_error($db)); exit; } $tree_data = mysqli_fetch_all($result, MYSQLI_ASSOC); //-----------------------------------------------------------------------// //on appel la fonction : //-----------------------------------------------------------------------// $tree = buildTree($tree_data); //-----------------------------------------------------------------------// //on retourne le résultat en JSON //-----------------------------------------------------------------------// header("Content-Type: application/json; charset=UTF-8"); echo json_encode($tree); exit;
SUUUUUUUPER CA FONCTIONNE
C est unn script que tu a creer ou tu l'as trouver sur le net, dans ce cas tu peux me donner le lien.
En tout cas MERCI parceque moi, je n'aurai pas su le faire.
Et c'est dommage que les 5 script que j'ai essayé ne fonctonnait pas. Je suppose tous pour la même raison. Mais comme nous ne sommes pas tous très doué ou pas du tout en PHP et autre, nous devons apprendre des autres.
MERCI