messages and such
[glcas.git] / lib / plugins / db.php
index a337718..f24917f 100644 (file)
@@ -25,17 +25,20 @@ function db_createDB()
 }
 
 // all columns end up as text
-function db_createTable($tablename, $ncolumns)
+function db_createTable($tablename)
 {
        $db = db_getDB();
        
+       if(db_tableExists($tablename)) return true;
+       
        $sql = "create table \"$tablename\" (\"".$tablename."_id\" INTEGER PRIMARY KEY AUTOINCREMENT";
-       for($i=1; $i <= $ncolumns; $i++) {
-               $colname = "column_$i";
+       for($i=1; $i < func_num_args(); $i++) {
+               $colname = func_get_arg($i);
                $sql .= ", $colname text";
        }
        $sql .= ")";
        
+       //echo "sql: $sql\n";
        $db->query($sql);
 }
 
@@ -53,12 +56,15 @@ function db_insertData($tablename)
        $db->query($sql);
 }
 
-function db_selectData($tablename, $column, $value)
+function db_selectData($tablename, $column="", $value="")
 {
        $db = db_getDB();
        
-       $sql = "select * from \"$tablename\" where column_$column like '%$value%'";
+       if($column != "") $extra = " where $column like '%$value%'";
+       else $extra = "";
+       $sql = "select * from \"$tablename\"$extra";
        $res = $db->query($sql);
+       if(!$res) return false;
        $data = $res->fetchAll();
        
        return $data;
@@ -68,11 +74,21 @@ function db_deleteData($tablename, $column, $value)
 {
        $db = db_getDB();
        
-       $sql = "delete from \"$tablename\" where column_$column like '%$value%'";
+       $sql = "delete from \"$tablename\" where $column like '%$value%'";
+       //echo "Sql is $sql\n";
        return $db->query($sql);
        
 }
 
+function db_updateData($tablename, $column, $newdata, $wherecol, $wheredata, $exact=true)
+{
+       $db = db_getDB();
+       
+       if($exact) $sql = "update \"$tablename\" set $column='$newdata' where $wherecol='$wheredata'";
+       else $sql = "update \"$tablename\" set $column='$newdata' where $wherecol like '$wheredata'";
+       return $db->query($sql);
+}
+
 function db_deleteTable($tablename)
 {
        $db = db_getDB();