当前位置: 首页 > news >正文

网站的风格与布局的设计方案/seo职业培训学校

网站的风格与布局的设计方案,seo职业培训学校,ps做网站好看的logo,wordpress汉化自适应主题十三、其他查询方法(重点&#xff1a;where方法) 1、where方法&#xff08;查询语法&#xff09; 见手册--数据库--查询构造器--查询语法 where(字段名,表达式,查询条件);whereOr(字段名,表达式,查询条件);表达式含义EQ、等于&#xff08;&#xff09;NEQ、<>不等于&a…

十三、其他查询方法(重点:where方法)

1、where方法(查询语法)

见手册--数据库--查询构造器--查询语法

where('字段名','表达式','查询条件');whereOr('字段名','表达式','查询条件');
表达式含义
EQ、=等于(=)
NEQ、<>不等于(<>)
GT、>大于(>)
EGT、>=大于等于(>=)
LT、<小于(<)
ELT、<=小于等于(<=)
LIKE模糊查询
[NOT] BETWEEN(不在)区间查询
[NOT] IN(不在)IN 查询
[NOT] NULL查询字段是否(不)是NULL
[NOT] EXISTSEXISTS查询
EXP表达式查询,支持SQL语法
> time时间比较
< time时间比较
between time时间比较
notbetween time时间比较

注:where方法中,如果比较表达式是等于,可以省略这个参数。

应用示例:

$info = User::where('id','=','1')->find();$info = User::where('id','1')->find();$info = User::where('name','like','%thinkphp%')->select();

image-20190705223507911

注意:使用了where方法后,查询数据可以使用find方法和select方法,不能使用get方法和all方法。(原因:where方法返回的是Query对象,不是模型对象)

扩展:批量条件查询(手册-数据库-查询构造器-高级查询)

image-20190705223542649

2、连贯操作(链式操作)

(见手册--数据库--查询构造器--链式操作)

原理:中间调用的方法,返回值是对象,可以继续调用对象的其他方法。

一条sql语句的组成可以很复杂,里边有where、order by、group by、限制查询的字段、limit、having限制条件等等,这些复杂的条件在tp框架中都有封装

注:TP框架中,中间的方法没有顺序要求,当时用于获取最终结果的find和select等方法,必须在最后。

常用链式操作方法

$model = new Address();//指定要查询的字段,原生sql中select后面的字段
$model->field('id,name')->select(); //相当于原生sql中的order by
$model->order('id desc,time desc')->select(); //相当于原生sql中的limit条件
$model->limit(3)->select(); $model->limit(0,3)->select(); $model->limit('0,3')->select(); //相当于原生sql中的group by
$model->group('cate_id')->select();  //相当于原生sql中的having条件
$model->having('id>3')->select();  //alias方法设置别名,join方法连表查询
$model->alias('a')
->join('think_user_type t','a.id=t.user_id', 'left')
->select(); //Address::alias('a')->join('tpshop_user u','a.user_id = u.id', 'left')->select();

连表查询:SELECT * FROM tpshop_goodspics g LEFT JOIN tpshop_goods gs on g.goods_id = gs.id;

$data = \app\admin\model\Goods::where('id', '>', 32)
->field('id, goods_name')
->order('id desc')
->limit(5)
->select();
dump($data);

3、统计查询(聚合查询)

见手册--模型--聚合,或者手册--数据库--查询构造器--聚合查询

在模型中也可以调用数据库的聚合方法进行查询:

方法说明
count统计数量,参数是要统计的字段名(可选)
max获取最大值,参数是要统计的字段名(必须)
min获取最小值,参数是要统计的字段名(必须)
avg获取平均值,参数是要统计的字段名(必须)
sum获取总分,参数是要统计的字段名(必须)

这些方法的返回值是具体的数据。在连贯操作中只能放在最后,不需要使用find和select。

count方法 相当于 select count(*) from tpshop_user;

image-20190705223755393

image-20190705223844524

4、数据字段查询

① 查询一条记录的一个字段的值

Goods::where(‘id’, 2)->value(‘goods_name’);

② 查询多条记录的一个字段的值,返回一个一维索引数组

Goods::where(‘id’, ‘GT’, 2)->column(‘goods_name’);

③ 查询多条记录的一个字段的值,以id字段值作为数组索引

Goods::where(‘id’, ‘GT’, 2)->column(‘goods_name’, ‘id’);

5、trace调试

Trace调试功能就是ThinkPHP提供给开发人员的一个用于开发调试的辅助工具。可以实时显示当前页面的操作的请求信息、运行情况、SQL执行、错误提示等

开启trace调试:

修改application/config.php , 配置以下参数:

'app_trace' => true

image-20190705224224392

小结练习:

1562397659957

image-20190705224259166

十四、模板中数据的展示(了解)

1、条件判断标签if

TP框架中内置了if标签,用于在模板文件中进行if判断。语法如下:

{if condition="($name == 1) OR ($name > 100) "} value1{elseif condition="$name eq 2"/}value2{else /} value3{/if}也可以写为以下形式:{if ($name == 1)}value1{/if}

2、范围判断标签in

范围判断标签包括in notin between notbetween四个标签,都用于判断变量是否中某个范围。

{in name="id" value="1,2,3"} id在范围内{/in}{in name="id" value="$range"} id在范围内{/in}

Name属性值为变量名,不带$符号

Value属性值可以是字符串范围,也可以是数组变量或者字符串变量。

相当于原生php中的 if(in_array())

3、使用函数

(见手册--模板--使用函数)

在模板文件中输出变量,可以对变量使用函数进行处理

语法:两种语法:

{$变量名称|函数名称=arg1,arg2,###}

参数中,可以使用### 代替输出的变量本身,如果变量本身是第一个参数,可以省略。

示例:

//对时间格式化
{$v.goods_create_time|date='Y-m-d H:i:s', ###}
//对字符串进行md5加密
{$name|md5}

{:函数名称(参数)}

{:date("Y-m-d H:i:s", $v['goods_create_time'])}

凡是php本身的函数或者框架中定义的函数,都可以在模板中直接调用。

4、系统变量

(见手册--模板--系统变量)

TP框架自带了一个$Think变量,用于在模板中输出系统变量。

$Think.server :相当于$_SERVER$Think.get	:相当于$_GET$Think.post :相当于$_POST$Think.request :相当于$_REQUEST$Think.cookie :相当于$_COOKIE$Think.session :相当于$_SESSION$Think.config.名称 :输出配置参数$Think.const.名称:输出常量相当于框架帮我们做了以下事情
$Think = ['get' => $_GET,'post'=>$_POST];
$this->assign('Think', $Think);

示例:url地址:People.com | Celebrity News, Exclusives, Photos and Videos

展示page参数值: {$Think.get.page}

5、使用运算符

在模板文件中输出变量时,可以先使用运算符进行运算。

+ 		{$a+$b}- 		{$a-$b}* 		{$a*$b}/		{$a/$b}%		{$a%$b}  取余或取模++		{$a++} 或  {++$a}--		{$a--}  或 {--$a}

十五、数据的添加操作

(见手册--模型--新增) curd : create update read delete

1、添加一条数据(save方法)

wpsD126.tmp

Save方法返回值是写入的记录数

image-20190705225318404

2、静态方法添加(create方法)

image-20190705225519577

添加数据使用示例:

image-20190705225644153

image-20190705225724244

3、添加多条数据(saveAll方法)

image-20190705225443739

4、过滤非数据表字段

save方法: 调用save方法之前,先调用allowField方法

image-20190705225801739

create方法: 给create方法传递第二个参数,true

User::create($_POST, true);

十六、案例:后台商品添加功能

需求:只添加最基本的信息(商品名称、商品价格、商品数量)

表单展示 Goods控制器create方法(整合模板)

表单提交 Goods控制器save方法

思路: 显示form表单,提交form表单,将数据接收并保存到数据表。

1)功能实现

① 确认表单完整性,完善提交地址、name属性值等信息

image-20190705225859278

image-20190705225929058

② 修改Goods控制器save方法,接收表单提交并保存数据。

image-20190705230002327

2)知识点

1、模型的时间戳功能

(见手册--模型--时间戳)

image-20190705230038639

注:自动写入时间戳字段,前提是数据表必须有对应的字段存在。

2、页面跳转与重定向

(见手册--控制器--跳转和重定向)

成功时跳转

$this -> success(“提示信息”,“跳转地址”,“返回数据”,“等待时间”,“header信息”);

失败时跳转

$this -> error(“提示信息”,“跳转地址”,“返回数据”,“等待时间”,“header信息”);

等待时间默认3s。 跳转地址可以不写,默认跳转回上一页。

重定向跳转:用于直接跳转,不显示提示信息。

$this -> redirect(“跳转地址”,“请求参数”,“http code”);

十七、Ueditor富文本编辑器

1、Ueditor编辑器的下载

商品的详细描述一般都是图文混合。对于图文混合的内容,需要使用富文本编辑器来实现。

Ueditor富文本编辑器的下载地址:

GitHub - fex-team/ueditor: rich text 富文本编辑器

image-20190705230140608

下载之后:

image-20190705230249809

解压:

image-20190705230220654

2、Ueditor编辑器的使用

使用步骤:

引入编辑器的代码到项目中

引入js文件

指定标签(携带id属性),编辑器的显示位置

在js中实例化编辑器

注意:使用时,富文本编辑器 分为 普通输入界面,和源代码输入界面。

如果要自己写html代码设置样式,必须点击左上角的html按钮 切换到源代码界面,输入完成后,必须至少点击一次html按钮,否则php中收不到数据的。

案例实现: 商品添加页面 使用ueditor富文本编辑器

将编辑器整合到项目

image-20190705230343801

页面上引入编辑器(参考demo文件index.html)

① 引入js文件

image-20190705230408676

② 在页面定义标签,id属性,name属性

image-20190705230436979

③ 使用js代码实例化编辑器

image-20190705230458042

商品描述的添加:

image-20190705230525554

控制器中接收到的 商品描述字段值,是一段html代码字符串。

示例:

<p>test</p>
<p><img src="/ueditor/php/upload/image/20180804/1533373686.png" title="1533373686.png" alt="b1.png"/>
</p>

http://www.lbrq.cn/news/1071703.html

相关文章:

  • 网站上二维码怎么做的/百度指数如何分析数据
  • 深圳网站建设亿联时代/东莞最新消息 今天
  • 网站建设开发做网站吧/最打动人心的广告语
  • dw网页制作下载/seo优化托管
  • 网站http500内部服务器错误/品牌广告语
  • 怎么建立自己的网站?/百度投诉中心在线申诉
  • 绍兴网站建设哪好/百度收录怎么弄
  • 怎么在自己做的网站上发视频/百度知道首页官网
  • 厦门规划建设网站/泉州seo代理计费
  • 有什么网站可以做援交/买外链有用吗
  • 房地产市场需求分析/泰州百度关键词优化
  • 百度免费建个人网站/国外网站排名 top100
  • 东莞建站网站建设产品推广/白帽优化关键词排名seo
  • 个人网站设计论文的结论/seo引擎搜索网站
  • 做网站沈阳/网络广告推广平台
  • 沈阳网站建设专家/厦门网站seo
  • 建设银行对公网站/百度怎么发帖做推广
  • 仿淘宝网站/漳州网络推广
  • 查商标是否被注册在哪里查/济南网络seo公司
  • 今天哈尔滨最新通告/杭州优化外包
  • 网站应如何设计/seo外链增加
  • 网站可以用视频做背景吗/程序员培训机构排名前十
  • 芍药居做网站公司/网络推广的优势有哪些
  • 做淘宝差不多的网站/汕头seo外包公司
  • wordpress better wordpress minify/网站内部优化有哪些内容
  • 初中做历史的网站/媒体网络推广价格优惠
  • wordpress 移植/seo竞争对手分析
  • 万盛经开区规划建设局网站/郑州网站关键词排名技术代理
  • 沈阳网站设计定制网站建设/程序员培训班要多少钱
  • 张家港做网站的公司/短期职业技能培训班
  • 网关与路由器的区别
  • JavaWeb学习------SpringCloud入门
  • Java线程安全类设计思路总结
  • Removing Digits(Dynamic Programming)
  • pytorch的 Size[3] 和 Size[3,1] 区别
  • Kubernetes Gateway API 详解:现代流量路由管理方案