rudementry functioning db functions
[glcas.git] / lib / plugins / db.php
1 <?php
2
3 function db_getDB()
4 {
5         global $DB_URL;
6         
7         $dbobject = false;
8     global $BASE_DIR, $DB_HANDLE;
9     if($DB_HANDLE != false) return $DB_HANDLE;
10         try {
11                 $dbobject = new PDO("$DB_URL");
12         } catch(PDOException $exep) {
13                 error_log("execpt on db open");
14                 return false;
15         }
16         
17         $DB_HANDLE = $dbobject;
18
19         return $dbobject;
20 }
21
22 function db_createDB()
23 {
24         // theres not much to do yet with only sqlite support
25 }
26
27 // all columns end up as text
28 function db_createTable($tablename, $ncolumns)
29 {
30         $db = db_getDB();
31         
32         $sql = "create table \"$tablename\" (\"".$tablename."_id\" INTEGER PRIMARY KEY AUTOINCREMENT";
33         for($i=1; $i <= $ncolumns; $i++) {
34                 $colname = "column_$i";
35                 $sql .= ", $colname text";
36         }
37         $sql .= ")";
38         
39         $db->query($sql);
40 }
41
42 function db_insertData($tablename)
43 {
44
45         $db = db_getDB();
46         
47         $sql = "insert into \"$tablename\" values (NULL";
48         for($i=1; $i < func_num_args(); $i++) {
49                 $sql .= ",'".func_get_arg($i)."'";
50         }
51         $sql .=")";
52         
53         $db->query($sql);
54 }
55
56 function db_selectData($tablename, $column, $value)
57 {
58         $db = db_getDB();
59         
60         $sql = "select * from \"$tablename\" where column_$column like '%$value%'";
61         $res = $db->query($sql);
62         $data = $res->fetchAll();
63         
64         return $data;
65 }
66
67 function db_deleteData($tablename, $column, $value)
68 {
69         $db = db_getDB();
70         
71         $sql = "delete from \"$tablename\" where column_$column like '%$value%'";
72         return $db->query($sql);
73         
74 }
75
76 function db_deleteTable($tablename)
77 {
78         $db = db_getDB();
79         
80         $sql = "drop table $tablename";
81         
82         return $db->query($sql);
83 }
84
85 function db_tableExists($tablename)
86 {
87         $db = db_getDB();
88         
89         $sql = "select count(*) from sqlite_master where type='table' and name='$tablename'";
90         $res = $db->query($sql);
91         
92         $value = $res->fetchColumn();
93         
94         if($value == 1) return true;
95         else return false;
96 }
97
98 function db_getTables()
99 {
100         $db = db_getDB();
101         
102         $sql = "select name from sqlite_master where type='table' and name not like 'sqlite_%'";
103         $res = $db->query($sql);
104         
105         return $res->fetchAll();
106 }
107 ?>