j'ai merge le message d'erreur quand bazdig.db n'est pas ouvert en ecriture et j...
[bazdig.git] / bazdig / sql / exec / index.php
blob2f11107f4d292360e3f28fa27f9cb8cf3a2b6672
1 <?php
2 session_start();
4 define('WARAQ_ROOT', '../../..');
5 require_once WARAQ_ROOT .'/'. 'ini.php';
7 require "code.php";
9 if ($_GET['dbt']) {
10 $_SESSION['db_type'] = $_GET['dbt'];
11 $_SESSION['db_name'] = $_GET['dbn'];
12 $_SESSION['db_host'] = $_GET['dbh'];
13 $_SESSION['db_user'] = $_GET['dbu'];
14 $_SESSION['db_password'] = $_GET['dbp'];
17 if (!$_SESSION['db_type'] or !$_GET['q']) {
18 header('Location: '. $bazdig->get('/console')->url );
21 $history_db = new PDO("sqlite:". $bazdig->getparam('db')->file);
22 $work_db = new BDB(array('type' => $_SESSION['db_type'], 'name' => $_SESSION['db_name'], 'host' => $_SESSION['db_host']), $_SESSION['db_user'], $_SESSION['db_password']);
24 SqlCode::set_db($history_db);
25 $query = new SqlCode(stripslashes($_GET['q']));
27 <html>
28 <head>
29 <title><?php echo join($columns, ' '); ?></title>
30 <style type="text/css">
31 table tr td {border: solid 1px silver; padding: 10px}
32 table tr th {border: solid 1px grey; padding: 10px}
33 #error {
34 background-color: yellow;
35 border: 2px solid red;
36 padding: 10px;
37 margin: 10px;
39 </style>
40 </head>
41 <body>
42 <?php
43 try {
44 $result = $query->exec($work_db);
45 } catch (Exception $e) {
46 die("<div id='error'><b>SQL ERROR</b> ". $e->getMessage() ."</div>");
49 $query->save();
51 try {
52 $rows = $result->fetchAll(PDO::FETCH_ASSOC);
53 if (count($rows) < 1) {
54 die("<table><tr><th>Empty</th></tr></table>");
56 } catch (Exception $e) {
57 die("<table><tr><th>Empty</th></tr></table>");
59 $columns = columnNames($rows[0]);
61 echo "<table><tr>";
62 foreach ($columns as $c) {
63 echo "<th>$c</th>";
65 echo "</tr>";
66 foreach ($rows as $r) {
67 echo "<tr>";
68 foreach ($r as $value) {
69 echo "<td>$value</td>";
71 echo "</tr>";
73 echo "</table>";
75 </body>
76 </html>