|
From: <ken...@us...> - 2008-08-08 19:46:11
|
Revision: 511
http://andro.svn.sourceforge.net/andro/?rev=511&view=rev
Author: kendowns
Date: 2008-08-08 19:46:19 +0000 (Fri, 08 Aug 2008)
Log Message:
-----------
Added direct database commands for select and insert. Basic usage:
$a.json.init('x4Page','--table-name');
$a.json.addParm('db',' ins|sel|del|upd');
$a.json.addParm("x4v_COLUMN_ID",'value'); // data values
$a.json.addParm('x4w_COLUMN_ID",'value'); // where clause stuff
Modified Paths:
--------------
trunk/andro/lib/index_hidden.php
Modified: trunk/andro/lib/index_hidden.php
===================================================================
--- trunk/andro/lib/index_hidden.php 2008-08-08 19:44:30 UTC (rev 510)
+++ trunk/andro/lib/index_hidden.php 2008-08-08 19:46:19 UTC (rev 511)
@@ -495,13 +495,10 @@
// are four library routines we might call.
$ra=$r1=false;
switch(gp('db')) {
- #case 'del' : x4sqlDel($table,$whr); break;
- #case 'sel' : $ra=x4sqlSel($table,$whr); break;
- case 'ins' : $r1=x4sqlIns($table,$row,$rr); break;
- #case 'insset': x4sqlInsSet($table); break;
- #case 'upd' : $r1=x4sqlUpd($table,$row,$whr,$rr); break;
- #case 'bsrch' : searchBrowse($table,$whr); break;
- #case 'sql' : x4sqlQuery(gp('x4xSQL')); break;
+ case 'del' : x4sqlDel($table,$whr); break;
+ case 'sel' : x4sqlSel($table,$whr); break;
+ case 'ins' : x4sqlIns($table,$row,$rr); break;
+ case 'upd' : x4sqlUpd($table,$row,$whr,$rr); break;
}
}
@@ -512,7 +509,40 @@
x4Data('row',$row);
}
}
+function x4sqlDel($table,$whr) {
+ $view = ddView($table);
+ $awhere = array();
+ foreach($whr as $key=>$value) {
+ $awhere[] = "$key = $value";
+ }
+ $swhere = implode(' AND ',$awhere);
+ SQL("Delete from $view WHERE $swhere");
+ if(Errors()) {
+ x4Error(hErrors());
+ }
+}
+function x4sqlSel($table,$whr) {
+ $options = array();
+ if(gp('ob')<>'') {
+ $options=array('ob',gp('ob'));
+ }
+ x4Data('rows',SQLX_Select($table,'',$options));
+}
+function x4sqlUpd($table,$row,$whr) {
+ if(!isset($whr['skey'])) {
+ x4Error("The database update cannot be performed because the"
+ ." 'skey' column is not present. This is very likely a"
+ ." programming error, please contact your programmer."
+ );
+ }
+ else {
+ $view = ddView($table);
+ $row = array_merge($row,$whr);
+ SQLX_Update($table,$row);
+ }
+}
+
// ------------------------------------------------------------------
// >> Ajax refresh a select that is 2nd column in foreign key
// ------------------------------------------------------------------
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|