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