yii添加行的增删改查
效果图:

控制器:
<?php
namespace backend\controllers;
use Yii;
use yii\web\Controller;
use backend\models\Zhan;
class IndexController extends Controller
{
//显示页面
public function actionIndex()
{
$index=new Zhan();
//接受值
if($_POST)
{
$a=Yii::$app->db;
//判断是否有删除ids
if(Yii::$app->request->post('ids'))
{
$ids=Yii::$app->request->post('ids');
$str='';
for($i=0;$i<count($ids);$i++)
{
if($a->createCommand()->delete('zhan',['id'=>$ids[$i]])->execute())
{
$str++;
}
}
if($str!='')
{
echo '<script>alert("删除成功");location.href="index.php?r=index/index"</script>';
}
}
else
{
//判断是否有id传值
$cid=Yii::$app->request->post('cid');
$xu_ids=Yii::$app->request->post('xu_id');
//print_r($id);die;
//添加行的数据
$names=Yii::$app->request->post('zhan_name');
$ulrs=Yii::$app->request->post('url');
//遍历数组
foreach($names as $k=>$v)
{
if(!empty($cid[$k]))
{
$c_id=$cid[$k];
//echo $c_id;die;
$url=$ulrs[$k];
$xu_id=$xu_ids[$k];
$name=$v;
$res=$a->createCommand()->update("zhan",['zhan_name'=>$name,'url'=>$url,'xu_id'=>$xu_id],"id=$c_id")->execute();
//数据可能没被修改,只有成功一条就改变标记的值
if($res)
{
echo '<script>alert("修改成功");location.href="index.php?r=index/index"</script>';
}
}
else
{
$url=$ulrs[$k];
$xu_id=$xu_ids[$k];
$name=$v;
$res=$a->createCommand()->insert("zhan",['xu_id'=>$xu_id,'zhan_name'=>$name,'url'=>$url])->execute();
//数据可能没被修改,只有成功一条就改变v标记的值
if($res)
{
echo '<script>alert("添加成功");location.href="index.php?r=index/index"</script>';
}
}
}
}
}
else
{
//查询数据
$models=Zhan::find()->orderBy(['xu_id'=>'asc'])->asArray()->all();
//var_dump($models);
return $this->renderPartial("show",['models'=>$models]);
}
}
}
?>
视图层:
<center>
<form action="index.php?r=index/index" method="post">
<input name="_csrf" type="hidden" id="_csrf" value="<?= Yii::$app->request->csrfToken ?>">
<table>
<tr>
<td>ID</td>
<td>显示顺序</td>
<td>站点名称</td>
<td>站点URL</td>
</tr>
<?php foreach ($models as $key => $v) {?>
<tr>
<input type="hidden" name="cid[]" value="<?php echo $v['id']; ?>" />
<td><input type="checkbox" name="ids[]" class='ids' value="<?= $v['id'] ?>"></td>
<td><input type="text" name="xu_id[]" value="<?= $v['xu_id'];?>"></td>
<td><input type="text" name ='zhan_name[]'value="<?= $v['zhan_name'];?>"></td>
<td><input type="text" name="url[]" value="<?= $v['url'];?>"></td>
</tr>
<?php }?>
<tr>
<td><a href="javascript:void(0)" onclick="add(this);">+添加友情链接</a></td>
<td><input type="checkbox" onclick="jian(this);">删除?</td>
</tr>
<tr>
<td><input type="submit" value="提交" ></td>
</tr>
</table>
</form>
</center>
<script src="style/jquery.js"></script>
<script>
//添加一行
function add(ts)
{
var tr=$(ts).parent().parent();
var newtr='<tr><td></td><td><input type="text" name="xu_id[]"></td><td><input type="text" name="zhan_name[]"></td><td><input type="text" name="url[]"></td><td><input type="button" value="删除该行" onclick="del(this);"></td></td></tr><br />';
tr.after(newtr);
}
//删除当前行
function del(ts)
{
$(ts).parent().parent().remove();
}
//删除所有
function jian(ts)
{
var ids=$('.ids');
//alert(ids.length);
for(var i=0;i<ids.length;i++)
{
if(ts.checked==true)
{
ids[i].checked=true;
}
else
{
ids[i].checked=false;
}
}
}
</script>
</head>
yii添加行的增删改查的更多相关文章
- Yii数据库操作增删改查-[增加\查询\更新\删除 AR模式]
在Yii的开发中常常需要去使用Yii的增删改查方法,这些方法又可以多次变化和组合,带来全方位的实现对数据库的处理,下面对这些方法做一些简单的整理和梳理,有遗漏或是BUG,敬请指出.灰常感谢!!! 一. ...
- yii框架的增删改查
一.新增 使用model::save()操作进行新增数据 $user= new User; $user->username =$username; $user->password =$pa ...
- yii使用createCommand()增删改查
查询单条数据$sql = "SELECT `name` FROM `table` WHERE id='7'";$users=Yii::$app->db->createC ...
- YII 1.0 增删改查
查询 查询多条返回数据集合 //1.该方法是根据一个条件查询一个集合 $admin=Admin::model()->findAll($condition,$params); $admin=Adm ...
- YII进行数据增删改查分析
关于模型部分參考http://blog.csdn.net/buyingfei8888/article/details/40208729 控制器部分: <?php class GoodsContr ...
- Yii框架的增删改查总结分析
一.查询数据 1.findAll(根据一个条件查询一个集合) $admin=Admin::model()->findAll($condition,$params); $admin=Admin:: ...
- Yii 1.1.17 四、属性标签、AR类增删改查、使用上传类与扩展第三方类库
一.属性标签与规则设置 当进入网站页面,将会读数据库返回信息到视图上.那么,现在定义模型中的属性在视图标签上的显示, 也就是模型属性到前台标签的映射 // 定义模型属性到前台标签的映射 public ...
- yii2 增删改查
自己总结的yii2 advanced 版本的简单的增删改查,希望对大家有所帮助 1.gii生成的actionCreate()方法中 获取插入语句的id $id = $model->attribu ...
- YII2生成增删改查
下载完成后在basic/db.php配置数据库参数. 1.配置虚拟主机后进入YII入口文件 index.php 进行get传值 ?r=gii ,进入创建界面 2.点击 Model Generator下 ...
随机推荐
- myeclipse添加源码支持
在MyEclipse中开发,习惯于点击类名,按Ctrl键查看源码,但是,如果是Spring/Hibernate/Struts/JDK这些开源jar的源码该如何看呢? 一般,我们导入的只有jar文 件, ...
- Erlang ERTS的Trap机制的设计及其用途
出处:http://mryufeng.iteye.com/blog/334744 erlang的trap机制在实现中用的很多,在费时的BIF操作中基本上都可以看到.它的实现需要erl vm的配合.它的 ...
- Linux下开发Windows平台运行的程序 - MinGW
开源不乏神人,于是有了MinGW(Minimalist GNU for Windows),又称mingw32,是将GCC编译器和GNU Binutils一直到Win32平台下,包含一系列头文件.库和可 ...
- qt 4.6.2 与visual studio 2005 集成(编译方法,以及中间遇到的问题)
不知不觉在蒂森差不多半个月了,哈哈,时间过得很快,过得很充实,近来研究QT,首先嘛,肯定要学会安装了,这最基础的不会更不用说下面的啦.闲话少说,进正题,基本的安装步骤网上多的是,但参考一个大多数情况是 ...
- membership db注册工具
C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe
- JavaScript操作数组
数组被描述为一个存储元素的线性集合,元素可以通过索引来任意存取. 几乎所有的编程语言都有类似的数据结构,但是Javascript中的数组却略有不同. Javascript中的数组是一种特殊的对象,所以 ...
- Java多线程 - 线程状态
转自: http://www.cnblogs.com/lwbqqyumidi/p/3804883.html 一.线程的生命周期及五种基本状态 关于Java中线程的生命周期,首先看一下下面这张较为经典的 ...
- Java学习-005-初学常用的几个经典循环控制源代码
最近一段时间公司 App 改版,一直处在需求评审.代码评审.测试计划.测试用例.用例评审.用例执行.缺陷管理.测试总结的循环中,因而博客也好久没有更新了.虽然工作确实忙了点,但是也是自己懒惰了,从今天 ...
- Asp.net MVC 中超链接的三个方法及比较
在Asp.net WebForm开发中,我们通过a标签进行跳转时,通常的写法是:<a href="index.aspx">首页</a>, 在Asp.net ...
- RHEL6解决无法使用YUM源问题
RHEL的YUM源需要注册用户才能更新使用,由于CentOS和RHEL基本没有区别,并且CentOS已经被REHL收购.所以将RHEL的YUM源替换为CentOS即可.问题如下:[root@bogon ...