iwebshop 增删改查及常用操作汇总
对数据库增删改查
本文适合对框架应用有基本基础的PHPer阅读.
iwebshop框架对于数据库常用的"增删改查"操作已经封装了两个极为方便的系统类;
IModel 和 IQuery.在实际工作中可以简单的理解为:
对数据库的增加,修改,删除操作使用IModel类进行操作,
对数据库的查询使用IQuery类进行操作.
插入数据(增操作):
$thistableObj = new IModel('tablename'); // 创建实例,加载名字为"tablename"的数据表
$arr = array('id'=>'1','name'=>'张三'); // 创建插入数组,数组中的key值为表中字段,value为插入的值
$thistableObj->setData($arr); // 装载定义好的arr数组
$thistableObj->add(); // 执行添加操作
删除数据(删操作):
$id = IFilter::act($id,'int'); // 获取删除的ID值,一般来源为获取传递
$thistableObj = new IModel('tablename'); // 创建实例,加载名字为"tablename"的数据表
$where = 'id ='.$id; // 创建删除对象
$thistableObj->del($where); // 执行删除操作
修改数据(改操作):
$id = IFilter::act($id,'int'); // 获取删除的ID值,一般来源为获取传递
$thistableObj = new IModel('tablename'); // 创建实例,加载名字为"tablename"的数据表
$arr = array('id'=>'1','name'=>'李四'); // 创建修改数组,数组中的key值为表中字段,value为插入的值
$thistableObj->setData($arr); // 装载定义好的arr数组
$where = 'id ='.$id; // 创建修改对象
$thistableObj->update($where); // 执行修改操作
查找数据(查操作):
iwebshop查询IQuery中提供了多种复合查询条件,可以直接使用,当前列举出常用部分.
$id = IFilter::act($id,'int'); // 获取删除的ID值,一般来源为获取传递
$thistableDB = new IQuery('tablename as t'); // 创建实例,加载名字为"tablename"的数据表,别名为t
$thistableDB->join = "left join table2 as t2 on t1.id = t2.t1_id"; // 多表联查配置
$thistableDB->limit = "1"; // 限制去除条数配置
$thistableDB->order = "num desc"; // 排序配置
$thistableDB->fields = "t1.id,t2.name as t2_name"; // 限制取出字段配置
$thistableData = $thistableDB->find(); // 执行查询操作
如果需要查询复杂sql语句,可以使用系统定义类IDBFactory::getDB()进行查询,例:
$sql_s ='SELECT c.name, c.id from tables as c ..(其中为sql语句).. join as p ON c.id = p.num_id WHERE c.parent_id=0 and c.type=2 ';
$result = IDBFactory::getDB()->query($sql_s); // 获取查询结果
其他常用操作汇总
获取传参并限制类型:
$cat = IFilter::act(IReq::get('cat'), 'int');
调用API类获取值:
$result = Api::run('getMap_Api',$lat1, $lng1, $val['map_y'], $val['map_x']);
调用图片上传类:
$uploadDir = IWeb::$app->config['upload'].'/test'; // 设置图片上传路径
$uploadObj = new PhotoUpload($uploadDir); // 创建图片上传实例,并进行文件夹判断
$uploadObj->setIterance(false); // 开启是否"防止图片重复提交"开关
$photoInfo = $uploadObj->run(); // 执行图片上传操作
快速遍历(html页面中):
{foreach:items=$list key=$leftKey item=$leftValue} // 设置遍历内容
<li>{$leftValue['name']}</li> // 显示value中的内容
{/foreach}
快速定义变量(html页面中):
{set:$thisword = IReq::get('word');} // 设置定义变量内容
快速定义判断(html页面中):
{if:$list == 'pass'}
<li>通过</li>
{elseif:$list == "notpass"}
<li>驳回</li>
{else:}
<li>错误</li>
{/if}
快速定义应用路径(html页面中):
<link rel="stylesheet" href="{skin:style/publics.css}"> // 快速引用css样式文件
<script src="{theme:javascript/public.js}"></script> // 快速应用javascript文件
iwebshop是一款相对于灵活的商城二开边框,希望能帮助有需要的同学,有问题可以留言或者联系微信 smilekzero .欢迎学习讨论~