php下拉选项登录_php下拉选项的批量操作的实现代码

48914f3aed3aa7342921510cf6c735f1.png

实现功能,操作项可以单独删除,批量项可以批量删除,批量显示,隐藏(改广告的数据库的status_is的值);

1.视图关键点:

<?php echo $row->id?>

全选

选择操作

删除

显示

隐藏

/*单个删除*/

2.控制器:

/**

* 批量操作

*

*/

public function actionBatch ()

{

if (XUtils::method() == 'GET') {     //单个删除是get方式

$command = trim($_GET['command']);

$ids = intval($_GET['id']);

} else

if (XUtils::method() == 'POST') {

$command = trim($_POST['command']);

$ids = $_POST['id'];

is_array($ids) && $ids = implode(',', $ids);

} else {

XUtils::message('errorBack', '只支持POST,GET数据');

}

empty($ids) && XUtils::message('error', '未选择记录');

switch ($command) {

case 'adDelete':

parent::_acl('ad_delete');

parent::_adminiLogger(array('catalog'=>'delete', 'intro'=>'删除广告,ID:'.$ids));

parent::_delete(new Ad(), $ids, array ('ad' ), array ('attach_file' ));

break;

case 'adVerify':

parent::_acl('ad_verify');

parent::_adminiLogger(array('catalog'=>'delete', 'intro'=>'广告状态变更为显示,ID:'.$ids));

parent::_verify(new Ad(), 'verify', $ids, array ('ad' ));

break;

case 'adUnVerify':

parent::_acl('ad_verify');

parent::_adminiLogger(array('catalog'=>'delete', 'intro'=>'广告状态变更为隐藏,ID:'.$ids));

parent::_verify(new Ad(), 'unVerify', $ids, array ('ad' ));

break;

default:

throw new CHttpException(404, '错误的操作类型:' . $command);

break;

}

}

父类的删除函数:

protected function _delete ($model = null, $id = '', $redirect = 'index', $attach = null, $pkField = 'id')

{

if ($attach) {          //如果有附件要删除广告的图片

$data = $model->findAll($pkField . ' IN(:id)', array (':id' => $id ));

foreach ((array) $data as $row) {

foreach ((array) $attach as $value) {

if (! empty($row[$value])) {

@unlink($row[$value]);

}

}

}

}

$result = $model->deleteAll(array ('condition' => 'id IN(' . $id . ')' ));

//刷新缓存

self::_refreshCache($model);

$this->redirect($redirect);

}

protected function _verify ($model = null, $type = 'verify', $id = '', $redirect = 'index', $cdField = 'status_is', $pkField = 'id')

{

$criteria = new CDbCriteria();

$criteria->condition = $pkField . ' IN(' . $id . ')';

$showStatus = $type == 'verify' ? 'Y' : 'N';

$result = $model->updateAll(array ($cdField => $showStatus ), $criteria);

//刷新缓存

self::_refreshCache($model);

$this->redirect($redirect);

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/436210.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

协议栈开发学习总结

近来一直很少些关于技术方面的文章&#xff0c;一来是被工作和生活所累&#xff0c;没有很多闲暇多余的时间,二来呢是觉得一直没有好的case&#xff0c;或则有好的case&#xff0c;但觉得目前在这个case方面&#xff0c;自己还不算很professional。今天心情不错&#xff0c;感觉…

【转】QGridLayout 详解

转自&#xff1a;https://blog.csdn.net/u013928315/article/details/78123573 一、QGridLayout属性介绍 1、QGridlayout以方格的形式管理窗口部件&#xff0c;先看QGridLayout的属性&#xff0c;如下图 2、各个参数的介绍 layoutLeftMargin ...至layoutBottomMargin在ui_Mai…

php网站评论模块怎么写,模块内容评论循环

一、作用用于循环查询模块评论数据(支持分页查询)二、语法{commentmodule模块名称....}{/comment}三、参数介绍(红色表示必填参数&#xff0c;蓝色表示系统默认参数)参数介绍module用来查询模块的评论&#xff0c;例如新闻模块&#xff0c;填写newssite站点id&#xff0c;默认当…

什么是LINQ?

什么是LINQ? LINQ&#xff0c;语言级集成查询&#xff08;Language INtegrated Query&#xff09;经过了最近 20 年&#xff0c;面向对象编程技术&#xff08; object-oriented (OO) programming technologies &#xff09;在工业领域的应用已经进入了一个稳定的发展阶段。程序…

宋体(Simsun)和新宋体(NSimsun)的区别

我们平常说的宋体&#xff08;Simsun&#xff09;全称为中易宋体&#xff0c;它和新宋体&#xff08;NSimsun&#xff09;是由北京中易中标电子信息技术有限公司制作并持有版权的两个TrueType 字体。自从微软向中易购买了这套字型后&#xff0c;它便成为了简体中文使用者最熟悉…

商业计划书最好就是十页篇幅

第一页是市场介绍&#xff1b;第二页分析市场问题&#xff1b;第三页写解决问题的方式&#xff1b;第四页调研市场&#xff1b;第五页分析竞争对手&#xff1b;第六页介绍核心竞争力&#xff1b;第七页写盈利模式&#xff1b;第八页写近期目标&#xff1b;第九页写资金预算&…

java import 出错,Eclipse的java代码出错:The import XXXX cannot be resolved

折腾Eclipse时&#xff0c;经常会遇到这种情况&#xff1a;缺少某个库&#xff0c;找到之后&#xff0c;需要将该库&#xff0c;jar包&#xff0c;加入到当前项目&#xff0c;使得代码中的import xxx得以正常导入。【如何在Eclipse中导入/添加(外部的)库/jar包】基本思路&#…

Platform Builder实践之配置文件

这篇文章主要讲解PB的配置文件。从用途方面分析&#xff0c;PB包含两种配置文件。分别是源码配置文件和镜像配置文件。下面分别讲解这两种配置文件。 一、源码配置文件&#xff1a;源码配置文件用于编译源码时使用。这里的源码是指Windows CE公开的源码&#xff0c;如驱动程序、…

【转】itk、vtk、qt 显示dicom 数据

转自&#xff1a;https://blog.csdn.net/Zzhouzhou237/article/details/107199076/ 以下代码实现了itk读取dicom数据&#xff0c;转换为vtkData&#xff0c;然后用Qt显示。 1、Qt Designer 搭建界面&#xff0c;QVTKOpenGLNativeWidget 是vtk的一个类&#xff0c;连接qt与vtk…

页面执行顺序

今天写绑定下拉用户控件中&#xff0c;下拉列表的数据时&#xff0c;发现竟然后台的数据为空. 今天才有点明白页面的执行顺序。 转载于:https://www.cnblogs.com/jskingli/archive/2008/05/09/1190176.html

Windows CE创建桌面快捷方式

在使用Platform Builder创建Windows CE系统的内核映入文件NK.bin时&#xff0c; 创建一个桌面快捷方式的步骤如下&#xff1a;1、创建一个快捷方式文件Test.lnk&#xff0c;格式如下&#xff1a; 17#/Windows/Test.exe 其 中&#xff0c;17表示#后面有多少个字符 2、将此文件拷…

php 国密,PHP实现国密算法SM4

1.SM4算法实现class SM4{const SM4_CK [0x00070e15, 0x1c232a31, 0x383f464d, 0x545b6269,0x70777e85, 0x8c939aa1, 0xa8afb6bd, 0xc4cbd2d9,0xe0e7eef5, 0xfc030a11, 0x181f262d, 0x343b4249,0x50575e65, 0x6c737a81, 0x888f969d, 0xa4abb2b9,0xc0c7ced5, 0xdce3eaf1, 0xf8ff…

【转】WM_MESSAGE、WM_COMMAND、WM_NOTIFY等消息有什么不同

转自&#xff1a;https://blog.csdn.net/newstarao/article/details/3775690 WM_MESSAGE是最普通的WINDOWS消息&#xff0c;对于这种类型的消息没什么好说的。那WM_COMMAND和WM_NOTIFY消息都是WINDOWS CONTROL给它的父窗体发的消息&#xff0c;那这两种消息有什么不同呢&#…

修改了WINCE自带的驱动程序后如何编译

修改了WINCE自带的驱动程序后如何编译&#xff1f;如果是自己开发的驱动程序如何编译&#xff1f; 1、分为IDE方式和命令行方式。 IDE 方式的编译很简单&#xff0c;以PB5.0为例&#xff0c;打开定制内核的工程&#xff0c;在左边的“workspace”—“FileView”中找到你已经修…

Properties 类的使用

Properties 类已不是新东西了&#xff0c;它在 Java 编程的早期就有了&#xff0c;并且几乎没有什么变化。J2SE 的 Tiger 版本增强了这个类&#xff0c;不仅可以用它在单独一行中指定用等号分隔的多个键-值对&#xff0c;还可以用XML 文件装载和保存这些键-值对。在 驯服 Tiger…

php 9000 端口没起来,ubuntu fpm-php 未监听9000端口问题

今天搞一台新的ubuntu服务器&#xff1b;配置好nginx后 死活解析不了php文件&#xff0c;反复修改配置文件未果&#xff1b;于是怀疑fpm-php,遂 &#xff1a;netstat -ant |grep 9000惊奇的发现9000端口竟然没有被占用&#xff0c;可是php5-fpm服务已经开启了&#xff1b;于是查…

【转】控件通知消息

转自&#xff1a;https://blog.csdn.net/kinghzking/article/details/6180956 2008年04月06日 星期日 00:09 控件通知消息有很多种&#xff0c;但是有一种是很常用&#xff0c;但是又不是很容易掌握的&#xff0c;那就是WM_NOTIFY&#xff0c;我试着对此做一下比较全面的论述…

python 装饰器 java,python之各种装饰器的使用

"""装饰器&#xff0c;带参数的装饰器&#xff0c;类的装饰器判断是否为可迭代的from collections import Iterableprint(isinstance([1,2,3],Iterable))"""# 1、简单的装饰器def debug(func):def wrap():print(fdebug:func name is {func.__nam…

WINCE 网卡控制

最近在搞wifi上网&#xff0c;看了些这方面的资料&#xff0c;稍微总结点东西&#xff1a;&#xff09; DeviceIoControl和底层通信&#xff1a; 方法1 &#xff1a;把第二个参数设为IOCTL_NDIS_REBIND_ADAPTER。 方法2 &#xff1a;把第二个参数设为IOCTL_NDIS_UNBIND_ADAPTER…

【转】调用约定__cdecl、__stdcall和__fastcall的区别

什么是调用约定 函数的调用约定&#xff0c;顾名思义就是对函数调用的一个约束和规定(规范)&#xff0c;描述了函数参数是怎么传递和由谁清除堆栈的。它决定以下内容&#xff1a;(1)函数参数的压栈顺序&#xff0c;(2)由调用者还是被调用者把参数弹出栈&#xff0c;(3)以及产生…