localentry=db.getselectresponse("SELECT * FROM "..db.escape(clientdata.table).." WHERE id='"..db.escape(clientdata.id).."'")
ifentryand#entry>0then
forn,vinpairs(entry[1])do
ifretval.value[n]thenretval.value[n].value=vend
ifn=="id"then
retval.value.id.readonly=true
retval.value.id.errtxt=nil
retval.errtxt=nil
end
retval.value.fields.value.id.errtxt="Entry does not exist"-- FIXME - need to determine key
ifretval.value.fields.value.id.value~=""then
localentry=db.getselectresponse("SELECT * FROM "..db.escape(retval.value.table.value).." WHERE id='"..db.escape(retval.value.fields.value.id.value).."'")
@@ -186,19 +236,20 @@ function mymodule.update_table_entry(dbase, self, entry, action, create)
end
end
ifsuccessandnotcreatethen
localsql="SELECT * FROM "..db.escape(entry.value.table.value).." WHERE id='"..db.escape(entry.value.id.value).."'"
localsql="SELECT * FROM "..db.escape(entry.value.table.value).." WHERE id='"..db.escape(entry.value.fields.value.id.value).."'"
localtmp=db.getselectresponse(sql)
ifnottmpor#tmp==0then
success=false
entry.value.id.errtxt="Entry does not exist"
errtxt="Entry does not exist"
end
-- FIXME need to check if already exists for create
end
ifsuccessthen
localnames={}
localvalues={}
forn,vinpairs(entry.value)do
ifn~="table"andn~="id"then
forn,vinpairs(entry.value.fields.value)do
ifn~="id"then
names[#names+1]=db.escape(n)
values[#values+1]=db.escape(v.value)
end
...
...
@@ -206,7 +257,7 @@ function mymodule.update_table_entry(dbase, self, entry, action, create)
ifcreatethen
sql="INSERT INTO "..db.escape(entry.value.table.value).." ("..table.concat(names,", ")..") VALUES('"..table.concat(values,"', '").."')"
else
sql="UPDATE "..db.escape(entry.value.table.value).." SET ("..table.concat(names,", ")..") = ('"..table.concat(values,"', '").."') WHERE id='"..db.escape(entry.value.id.value).."'"
sql="UPDATE "..db.escape(entry.value.table.value).." SET ("..table.concat(names,", ")..") = ('"..table.concat(values,"', '").."') WHERE id='"..db.escape(entry.value.fields.value.id.value).."'"
end
db.runsqlcommand(sql)
end
...
...
@@ -228,24 +279,65 @@ function mymodule.update_table_entry(dbase, self, entry, action, create)