Yii2.0页面提示消息
适用情况:比如提交一个表单,提交完成之后在页面展示一条提示消息。
控制器里面这样写:
单条消息:
\Yii::$app->getSession()->setFlash('error', 'This is the message');
\Yii::$app->getSession()->setFlash('success', 'This is the message');
\Yii::$app->getSession()->setFlash('info', 'This is the message');
多条消息:
\Yii::$app->getSession()->setFlash('error', ['Error 1', 'Error 2']);
然后是视图里面:
先引入Alert:use yii\bootstrap\Alert;
然后是:
if( Yii::$app->getSession()->hasFlash('success') ) {
echo Alert::widget([
'options' => [
'class' => 'alert-success', //这里是提示框的class
],
'body' => Yii::$app->getSession()->getFlash('success'), //消息体
]);
}
if( Yii::$app->getSession()->hasFlash('error') ) {
echo Alert::widget([
'options' => [
'class' => 'alert-error',
],
'body' => Yii::$app->getSession()->getFlash('error'),
]);
}
如果有消息就会显示对应消息,表现是一个div,和bootstrap的警告框是一样的。
你想把消息提示放在哪里,把上述代码就放到那里就可以了。
*** 题外话,这个编辑器是要用Markdown语法写?
public function actionIndex()
{
$db = Yii::$app->db;
$art = $db -> createCommand("select * from country where id=:id")->bindValue(':id','3')->queryOne();
//print_r($art);die;
$model = new Country();
$request = Yii::$app->request->post();
if($model->load($request) && $model->validate()){
$model->name = $request['Country']['name'];
$model->password = $request['Country']['password'];
$model->repassword = $request['Country']['repassword'];
$model->selects = $request['Country']['selects'];
if($model->save()){
Yii::$app->getSession()->setFlash('success', '保存成功了亲');
return $this->refresh();//防刷新
}else{
Yii::$app->getSession()->setFlash('error', '保存失败');
}
}
return $this->render('index', [
'model' => $model,
]);
}
<?php
$form = ActiveForm::begin([
'action' => ['test/getpost'],
'method'=>'post',
]); ?>
<? echo $form->field($model, 'username')->textInput(['maxlength' => 20]) ?>
<? echo $form->field($model, 'password')->passwordInput(['maxlength' => 20]) ?>
<? echo $form->field($model, 'sex')->radioList(['1'=>'男','0'=>'女']) ?>
<? echo $form->field($model, 'edu')->dropDownList(['1'=>'大学','2'=>'高中','3'=>'初中'],
['prompt'=>'请选择','style'=>'width:120px']) ?>
<? echo $form->field($model, 'file')->fileInput() ?>
<? echo $form->field($model, 'hobby')->checkboxList(['0'=>'篮球','1'=>'足球','2'=>'羽毛球','3'=>'乒乓球']) ?>
<? echo $form->field($model, 'info')->textarea(['rows'=>3]) ?>
<? echo $form->field($model, 'userid')->hiddenInput(['value'=>3]) ?>
<? echo Html::submitButton('提交', ['class'=>'btn btn-primary','name' =>'submit-button']) ?>
<? echo Html::resetButton('重置', ['class'=>'btn btn-primary','name' =>'submit-button']) ?>
<?php ActiveForm::end(); ?>
查数据:
1: 此方法返回 ['name' => 'daxia'] 的所有数据;
User::find()->where(['name' => 'daxia'])->all();
2: 此方法返回 ['name' => 'daxia']的一条数据
User::find()->where(['name' => 'daxia'])->one();
3: 在条件name的基础上,额外添加另一个条件sex
User::find()->where(['name' => 'daxia'])->andWhere(['sex' => '女'])->one();
或者:
User::find()->where(['name' => 'daxia', 'sex' => '女'])->one();
说明: 这两种方法都是可以的
4: andFilterWhere/andWhere应用: 在[1427925600-1427968800]之间查询
User::find()->andFilterWhere(['between', 'regtime', '1427925600', '1427968800’])
说到andFilterWhere,下面我把用到的各种的情况示例列出:
1) : sql: id=1 AND id=2
条件: ['and', 'id=1', 'id=2']
2) : sql: id=1 OR id=2
条件: ['or', 'id=1', 'id=2']
3) : sql: id BETWEEN 1 AND 10
条件: ['between', 'id', 1, 10]
4) : sql: id IN (1, 2, 3)
条件: ['in', 'id', [1, 2, 3]]
5) : sql: name LIKE '%tester%' 模糊查询
条件: ['like', 'name', 'tester']
6) : sql: age>10
条件: ['>', 'age', 10]
5: orderBy() 应用
sql: ORDER BY `id` ASC, `name` DESC
Yii对应的model书写如下:
$query->orderBy([
'id' => SORT_ASC, 升序 默认
'name' => SORT_DESC, 降序
]);
6: groupBy() 应用:
sql: ... GROUP BY `id`, `status`
Yii对应的model书写如下:
$query->groupBy(['id', 'status']);
7: having()应用:
sql: ... HAVING `status` = 1
Yii对应的model书写如下:
$query->having(['status' => 1]);
8: limit() offset() 应用:
sql: ... LIMIT 10 OFFSET 20
Yii对应的model书写如下
$query->limit(10)->offset(20);
9: 用自己书写的sql语句,去查询符合的数据
User::findBySql('SELECT * FROM user')->one(); 此方法是用 sql 语句查询 user 表里面的一条数据;
User::findBySql('SELECT * FROM user')->all(); 此方法是用 sql 语句查询 user 表里面的所有数据;
说明: 测试 - 你也许想要测试或者使用一个由 yii\db\Query 对象创建的 SQL 语句。 你可以使用以下的代码来达到目的:
$query->createCommand()->getRawSql();
下面就是官网上面展示的,一些比较常见的查询方法:
yii\db\Query 提供了一整套的用于不同查询目的的方法。
● yii\db\Query::all(): 将返回一个由行组成的数组,每一行是一个由名称和值构成的关联数组(译者注:省略键的数组称为索引数组)。
● yii\db\Query::one(): 返回结果集的第一行。
● yii\db\Query::column(): 返回结果集的第一列。
● yii\db\Query::scalar(): 返回结果集的第一行第一列的标量值。
● yii\db\Query::exists(): 返回一个表示该查询是否包结果集的值。
● yii\db\Query::count(): 返回 COUNT 查询的结果。
● 其它集合查询方法: 包括 yii\db\Query::sum(), yii\db\Query::average(), yii\db\Query::max(), yii\db\Query::min() 等. $q 是一个必选参数, 既可以是一个字段名称,又可以是一个 DB 表达式。
Yii2.0页面提示消息的更多相关文章
- YII2 定义页面提示
控制器里面这样写: 单条消息: 键值是规定好的,不要去自定义哦! \Yii::$app->getSession()->setFlash('error', 'This is the mess ...
- Asp:Button控件onclick事件无刷新页面提示消息
<asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptMana ...
- Asp.net MVC Form认证,IIS改成集成模式后,FormsAuthentication.SetAuthCookie无效,Request.IsAuthenticated值,始终为false,页面提示HTTP 错误 401.0 - Unauthorized,您无权查看此目录或页面
最近公司领导要求,IIS网站要由经典模式改为集成模式,以提高性能.改完之后,登录成功跳转到主页之后,页面提示“”HTTP 错误 401.0 - Unauthorized“,“您无权查看此目录或页面”, ...
- .net MVC 页面页面跳转后提示消息实现办法
mvc在RedirectToAction之后,会清理掉ViewData中的所有数据,因此通过ViewData给下一个页面传递提示消息不太好,如果是通过参数方式传递,刷新跳转后的页面时,消息还会再次提示 ...
- Yii2.0 安装yii2-queue并在Linux启动守护进程监听消息
一.什么是yii2-queue? Yii2-queue是Yii2.0 PHP框架下一个消息队列拓展插件,支持基于DB, Redis, RabbitMQ, AMQP, Beanstalk 和 Gearm ...
- EasyUI Tabs + Yii2.0实现iframe方式打开页面(解决共用静态文件引入加载的问题)
在项目实际开发中,有将打开的各个链接页面隔离的需求(防止静态资源起冲突),这个时候常规思路就是使用iframe来实现!但遇到一个比较棘手的问题,当用easyui Tabs打开一个iframe页面时,怎 ...
- 【Yii系列】Yii2.0基础框架
缘起 因为一个月的短暂停留,我在给朋友搞事情,所以Yii系列的文章耽搁了很长时间,现在又重拾当时的知识,给大伙好好撸下这一系列的博客 提起Yii,虽然是国外的开发者搞的,但是它的作者是华人,这才是让我 ...
- 【Yii系列】Yii2.0的安装与调试
接上一节的话,我们最终选择了Yii框架作为我们的主要开发框架,今天,我就和大伙来聊聊如何安装与调试Yii2.0,以及后续会和大伙聊聊如何在Yii2.0上快速撸代码. Yii2.0的安装 好的,Comp ...
- 一款基于jquery超炫的弹出层提示消息
今天给大家带来一款基于jquery超炫的弹出层提示消息.这款实例页面初始时,一个go按钮.当单击go按钮时,提示强出层以动画形式出现.效果图如下: 在线预览 源码下载 实现的代码. html代码: ...
随机推荐
- python argparse(参数解析模块)
这是一个参数解析,可以用它快捷的为你的程序生成参数相关功能 import argparse(导入程序参数模块) # 创建argparse对象,并将产品简要说明加入show = '程序说明' ===&g ...
- Django之模型层(单表操作)
一.ORM简介 MVC和MTV框架中包含一个重要部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库. ORM是‘对象-关系- ...
- DotNetCore学习-3.管道中间件
中间件是用于组成应用程序管道来处理请求和响应的组件.管道内的每个组件都可以选择是否将请求交给下一个组件,并在管道中调用下一个组件之前和之后执行一些操作. 请求委托被用来建立请求管道,并处理每一个HTT ...
- [日常] Go语言圣经-字节切片与字符串
1.一个字符串是一个不可改变的字节序列2.文本字符串通常被解释为采用UTF8编码的Unicode码点(rune)序列3.内置的len函数可以返回一个字符串中的字节数目4.第i个字节并不一定是字符串的第 ...
- JavaSE-基础语法(二)-系统类(java.lang.*)和工具类(java.util.*)
系统类(java.lang.*)和工具类(java.util.*) 一.系统类(java.lang.*) 这个包下包含java语言的核心类,如String.Math.System和Thread类等,使 ...
- JavaScript实现省市区的三级联动
JavaScript实现省市区的三级联动 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" &qu ...
- 配置supervisor管理beego应用
一.golang.beego等环境安装与配置 二.supervisor安装 github项目地址:https://github.com/Supervisor/supervisor 克隆项目:git c ...
- git常用命令以及如何与fork别人的仓库保持同步
简单常用命令1.git status查看当前仓库是否有文件改动a:提示Your branch is up-to-date with 'origin/master'.nothing to commit, ...
- redis 集群搭建
1.redis 集群 redis集群是一个无中心的分布式redis存储架构,可以在多个节点之间进行数据共享,解决了redis高可用.可扩展等问题,redis集群提供了以下两个好处 1.将数据自动切分( ...
- 【读书笔记】iOS-iOS敏捷开发
敏捷开发分为几个不同的门派,如:Scrum,XBreed,极限编程(XP Extreme Programming)和水晶方法等. 参考资料:<iOS传感器应用开发最佳实践>