|
|
<?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));
|
|
|
|
|
|
?>
|