SMETI store ITEMS
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 
 

39 satır
1.3 KiB

<?php
header('Content-Type: application/json');
try{
    $pdo = new PDO('sqlite:../data/base.sqlite');
    $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // ERRMODE_WARNING | ERRMODE_EXCEPTION | ERRMODE_SILENT
} catch(Exception $e) {
    echo "Impossible d'accéder à la base de données SQLite : ".$e->getMessage();
    die();
}
$where_clause  = 'WHERE 1 = 1';
//$where_clause .= ' AND path LIKE "%[1]%"';
$sql = ' 
WITH arbre (parent, id, link, code, name, level, path) AS ( 
     SELECT 0, id, link, code, libelle, 0, "{" || plugin || "} [" || id || "]"
     FROM v_items_tree WHERE parent IS NULL
   UNION ALL 
     SELECT 
        v_items_tree.parent, 
        v_items_tree.id, 
        v_items_tree.link,
        v_items_tree.code, 
        v_items_tree.libelle, 
        arbre.level+1, 
        arbre.path || " {" || v_items_tree.rank || "} [" || v_items_tree.id || "]" 
     FROM v_items_tree
     INNER JOIN arbre ON v_items_tree.parent=arbre.id 
) SELECT parent, id, link, code, name,level,path FROM arbre WHERE_CLAUSE ORDER BY path 
';
$query = $pdo->prepare(str_replace('WHERE_CLAUSE',$where_clause,$sql));
$query->execute();
echo json_encode( $query->fetchAll(PDO::FETCH_ASSOC));
?>