问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

iwebshop 怎么输出sql语句

发布网友 发布时间:2022-04-28 23:26

我来回答

3个回答

懂视网 时间:2022-04-10 00:12

query 查询类标签(用于前端遍历)

实例:

{query:name=goods}
{$item[‘name‘]}<br/>
{/query}

本人实际开发中书写代码应用:

<php  // 下面代码是放在html页面的
{query:name=user fields=username where=id eq $user_id}
      {$item[‘username‘]}
      {/query}的购物清单</td>
 ?>


分页:

{set:$page=IReq::get(‘page‘)==null?1:IReq::get(‘page‘);}//定义分页变量
{query:name=goods page=$page pagesize=5}
{$key}:{$item[‘name‘]}<br/>
{/query}
{$query->getPageBar()} //调用分页方法


数据库读取和写入:


IQuery类:

IQuery 提供了很丰富的属性和功能,通过简单的属性配置,就可以实现很多的SQL 查询功能,比如我们要查询商
品表(goods)里面的id=10 的商品,则:
$goodsDB = new IQuery(‘goods’);
$goodsDB->where = “id = 10”;
$goodsData = $goodsDB->find();
. find()就是执行查询最终数据的一个接口。

创建好IQuery 对象以后,就可以设置各种类属性来组合查询数据了。
主要属性列表如下:
属性名称数据类型说明
fields String 可选默认* 读取表的字段数据
where String 可选默认无查询条件
join String 可选默认无表连接操作,比如:
$db = new IQuery(‘goods as g’);
$db->join=”left join products as p on g.id = p.goods_id”;
$db->find();
group String 可选默认无表分组操作,比如:
$db = new IQuery(‘goods as g’);
$db->group = “price”;
$db->find();
having String 可选默认无表分组结果的筛选,设置group 属性才有意义
order String 可选默认无表排序字段
limit Int 可选默认20 条读取指定数量的条数
page Int 可选默认无设置分页。设置后IQuery 类库增加paging 属性(分页类)
pagesize Int 可选默认20 条每个分页显示的数据量,设置page 属性才有意义
pagelength Int 可选默认10 页显示多少页数,设置page 属性才有意义
cache String 可选memcache, 缓存查询结果提高效率,降低数据库压力。填写缓存的模式,前提是您的系统必须支持iWebShop 缓存技术

debug Int 可选默认0 关闭;1 开启调试SQL 语句,系统会自动输出完整的SQL 原生态语句


本人实际开发中书写代码应用

查询:

function give_goods_list(){
   $giveaway_Obj = new IQuery(‘giveaway‘);
   $giveaway_Obj -> where = "is_del = 0";
   $giveaway_infos = $giveaway_Obj -> find();
   $this->data = $giveaway_infos;
   $this->redirect(‘give_goods_list‘);
}


IModel类:

数据库写入一般用IModel 类,目前支持update(更新),add(添加),del(删除),dropTable(卸载
表),createTable(创建表)。
一般使用都是通过创建new IModel(表名)对象来创建的数据库实例,然后调用setData()接口进行数据设
置。
比如要更新goods 表的price 字段,那么就是:
$goodsDB = new IModel(‘goods’);
$goodsDB->setData(array(‘price’ => 1000));
$goodsDB->update(‘id = 2’);


方法名字数据类型说明
update($where,
$except=array()
)
$where:string 更新条件
$except:array 特殊表达式
字段(非字符串类型)
更新记录
通过$this->setData($array); $array(字段=>更新数据)
表更新字段对应数据关系
add() 添加记录
通过$this->setData($array); $array(字段=>添加数据)
表添加记录对应数据关系
del($where) $where:string 删除条件删除记录
把满足$where 条件的记录都删除

dropTable() 卸载表
把当前IModel 实例对应的表删除
createTable() 创建表
创建当前IModel 实例对应的表
通过$this->setData($array); 设置创建表元素(多维数组)
$array = array(
"column" => 字段配置array("type" => 数据类型,"default"
=> 默认值,"comment" => 字段注释,"auto_increment" =>
数值自增长)
"comment"=> 表注释
"index" => 表索引array("索引类
型:PRIMARY,KEY,UNIQUE" => "字段名称")

本人实际开发中书写代码应用:

添加:

function supplier_edit_add()
{
   $id = IFilter::act(IReq::get(‘id‘),‘int‘);
   $company   = IFilter::act(IReq::get(‘firm_name‘));
   $address = IFilter::act(IReq::get(‘address‘));
   $pname  = IFilter::act(IReq::get(‘name‘));
   $mobile = IFilter::act(IReq::get(‘mobile‘));
   $phone  = IFilter::act(IReq::get(‘telephone‘));
   $img = IFilter::act(IReq::get(‘img‘));
   $account  = IFilter::act(IReq::get(‘account_num‘));
       $bank   = IFilter::act(IReq::get(‘bank_name‘));
   $province = IFilter::act(IReq::get(‘province‘),‘int‘);
   $city    = IFilter::act(IReq::get(‘city‘),‘int‘);
   $area     = IFilter::act(IReq::get(‘area‘),‘int‘);
   $_POST[‘area‘] = "";
   if($province && $city && $area)
   {
      $_POST[‘area‘] = array($province,$city,$area);
   }
   $user_id =$this->admin[‘admin_id‘];
   $stock  = new IModel(‘supplier_list‘);
   $stock_Init =  array(
      ‘firm_name‘    =>   $company,
      ‘area‘         =>   $_POST[‘area‘] ? ",".join(",",$_POST[‘area‘])."," : "",
       ‘address‘      =>   $address,
      ‘name‘         =>   $pname,
      ‘mobile‘       =>   $mobile,
      ‘telephone‘    =>   $phone,
      ‘img‘          =>   $img,
      ‘account_num‘  =>  $account,
      ‘bank_name‘    =>  $bank,
       ‘create_time‘  =>   date(‘Y-m-d H:i:s‘,time()),
       ‘admin_id‘     =>   $user_id
   );
   if($id){
      $stock->setData($stock_Init);
      $stock->update(‘id = ‘.$id);
   }else{
      $stock->setData($stock_Init);
       $stock->add();
   }

   $this->redirect(‘supplier_list‘);
}
删除:(注意:软删除,数据库保留)
function supplier_list_del(){
   $id = IFilter::act(IReq::get(‘id‘),‘int‘);
   $stock = new IModel(‘supplier_list‘);
   $stock->setData(array(‘is_del‘=>1));
   if($id)
   {
      $stock->update(Util::joinStr($id));
   }else{
      die(‘请选择要删除的数据‘);
   }
   $this->redirect("supplier_list");
}

更新:

function suppliet_list_restore(){
   $id = IFilter::act(IReq::get(‘id‘),‘int‘);
   //生成goods对象
   $stock = new IModel(‘supplier_list‘);
   $stock->setData(array(‘is_del‘=>0));
   if($id)
   {
      $stock->update(Util::joinStr($id));
   }
   else
   {
      die(‘请选择要恢复的数据‘);
   }

   $this->redirect("supplier_list");
}

原生态的SQL 可以用IDBFactory::getDB()->query($sql);此时可以直接写原生态的SQL 语句,但是要注意
SQL 语句中把表前缀增加上,因为IDBFactory 不会对$sql 有任何的修改,直接100%原样输送给mysql,当要执
行一些特殊的,复杂的SQL 可以使用此方法。

本人实际开发中书写代码应用:

$sql_class = "SELECT zce.category_id,gs.brand_id,zc.parent_id from (zqwy_goods as gs left join zqwy_category_extend as zce on gs.id = zce.goods_id) left join
                            zqwy_category as zc on zce.category_id = zc.id WHERE gs.id =".$v[‘goods_id‘].";";
$goods_class = IDBFactory::getDB()->query($sql_class);


本文出自 “kangjunfei” 博客,请务必保留此出处http://kangjunfei.blog.51cto.com/11556647/1915580

iwebshop框架用到的几种常用sql处理

标签:iwebshop

热心网友 时间:2022-04-09 21:20

您好,很高兴为您解答。

echo M("member")->getLastSql();

如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】

希望我的回答对您有所帮助,望采纳!

热心网友 时间:2022-04-09 22:38

echo M("member")->getSql();
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
说课包括哪些方面 说课内容包括()。 如何在手机百度上删除对话记录? 结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? 雅言是指古代哪里的语言 狗狗汽车站托运必须第一时间领吗? 什么是雅言 着字的zhe音是什么时候产生的?上古音系中,“着”只有zhao,zhuo二音吧。那zhe音是中古系时期产生的么? 古代的共同语在当时被称为什么? 描写坚强勇敢的名言 汉语语音的历史发展 周代的“雅言”最早应起源于现在的哪里 ThinkPHP模型执行失败,怎么看构造的sql语句 红米k20pro锁屏偏黄是怎么回事 关于坚强意志的名言警句 春秋战国时期,各国间交流用什么语言文字 滚筒洗衣机正在筒自洁当中此时能选择单脱水吗? 为什么先秦上古汉语中有很多大舌音,而现代汉语 关于php的问题,哪位大神帮我详细解读一下下面的代码并解释下各个的用途,还有案例,谢谢! 在安装打印机驱动时候出现找不到模块怎么办啊 我在打印网页时,弹出错误,找不到指定模块,怎么回事 ?就是弹出错误脚本,大仙们帮忙解决下,很重要!! 洛阳市瀛洲桥北到宝龙广场坐几路公交车? 古汉语中上古音系如何解释? shopnc中可以用getlastsql吗 五脚继电器的工作原理 谁知道古代没有拼音,用什么拼字吗? 五角继电器的原理是什么? 一斤剁辣椒放多少盐? 秦始皇说话什么口音 继电器型号 943-1C-5DS ,5脚,使用方法、接线图 秦始皇的口音 帝道至尊两个上官破城是怎么回事 长途汽车怎样托运狗狗 汽车五角继电器的接法有哪几种?控制原理是怎样的? 最佳第二部叫道神 - 帝道至尊有第二部吗? 现代哪一种方言最接近古代的雅言? 帝道至尊帝羽是谁的子孙 古文中一些字的读音曾在争议如何去确定 五脚时间继电器接线图 做一斤剁辣椒要放多少盐? 问一下汽车五角继电器怎么接线的 怎样学习古汉语发音? 做剁辣椒一斤辣椒放多少盐 五角继电器有什么作用?