PHP怎么实现批量删除 实现批量删除的代码

 更新时间:2017年7月6日 23:49  点击:2186
PHP实现批量删除效果也是很多用户会遇到的,这里文章就给大家介绍下PHP怎么实现批量删除,有些什么实现方法,感兴趣的下面就具体来看看。

前台

 

  

  

 代码如下复制代码

<!DOCTYPE html>

<html>

<head>

  <title>批量删除</title>

</head>

<body>

<scripttype="text/javascript">

  

//复选框

function checkall(all)

{

  var ck = document.getElementsByClassName("ck");

  

  if(all.checked)

  {

   for(var i=0;i<ck.length;i++)

   {

     ck[i].setAttribute("checked","checked");

   }

  }

  else

  {

   for(vari=0;i<ck.length;i++)

   {

     ck[i].removeAttribute("checked");

   }

  }

}

</script>

  

<formaction="test.php"method="post">

<tableborder="1">

  <tr><th><inputtype="checkbox"name="all"onclick="checkall(this)"/>id</th><th>名字</th></tr>

  

<!-- 此处调用显示列表函数 -->

<?phpshow() ?>

  

<tr><tdcolspan="3"><inputtype="submit"value="批量删除"></td></tr>

</table>

</form>

</body>

  

<?php 

  

//显示列表

function show()

{

  //连接数据库

  @mysql_connect('localhost','root','');

  mysql_select_db('test');

  mysql_query('set names utf8');

  

  $sql="select id,name from test";

  $res=mysql_query($sql);

  

  //循环取出数据

   while($row=mysql_fetch_row($res))

    {

     echo "<tr>

      <td>

       <inputtype='checkbox'value='{$row[0]}'name='item[]'class='ck'/>

       {$row[0]}

     </td>

      <td>{$row[1]}</td>

    </tr>";

    }

  }

?>

</html>


id名字


后台

 

 代码如下复制代码

<?php 

  

//接收post传来的数组

$arr=$_POST["item"];

  

/**

* 批量删除 

* 思路:把前台批量选择的数据放在数组里,删除该数组即可 

* @param $arr 

* @return $res 成功or失败

*/

functionbatch_del($arr)

{

  @mysql_connect('localhost','root','');

  mysql_select_db('test');

  mysql_query('set names utf8');

  

  //把数组元素组合为字符串:

  $str= implode("','",$arr);

  //in 表示多个

  $sql="delete from test where id in('{$str}')";

  $res= mysql_query($sql);

  

  if(!$res){

      echo"删除失败";

    }else{

  

      if(mysql_affected_rows()>0){

        echo"删除成功";

      }else{

        echo"没有行受到影响";  

      }

    } 

  }

  

//调用批量删除函数

  

batch_del($arr);

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助。

本文介绍了PHP函数rtrim()使用中的怪异现象分析,非常实用,有兴趣的同学快来看看吧。

今天用rtrim()函数时遇到了一个奇怪的问题:

 

 代码如下 复制代码

echortrim('<p></div>','</div>');// 输出为 <p

echoltrim('www.jb51.net','www.');// 输出为 jb51.net

 

以上的输出结果有点出人意料,本来我想第一行应该输出<p>,第二行会输出jb51.net。

这个问题纠结了我好久,一直没有找到原因,后来在手册中找到了答案:

rtrim()是以字符为单位替换,而不是以字符串的。从右往左替换时</div>6个字符肯定会被替换掉的,再往左时遇到了>,因为>也包含在rtirm()的第二个参数的字符串(</div>)中,所以也被替换掉了,当再往左时遇到了p,这时p不包含在第二个参数的字符串中。所以替换停止,输出了<p。

如果这样理解的话,第二行的输出结果就是在意料之中了。呵呵&hellip;&hellip;手册中已经写的清清楚楚了。原文:

You can also specify the characters you  want to strip, by means of the charlist parameter. Simply list all  characters that you want to be stripped. With .. you can specify a range  of characters。

由此可见,rtrim、ltrim与trim第二个参数是作为一组字符列表进行匹配操作的。这与我们以往认识的str_replace函数的替换操作不一样。

小编给大家推荐的这篇文章介绍了CakePHP框架Session设置方法分析,非常实用,有兴趣的同学快来看看吧

本文实例讲述了CakePHP框架Session设置方法。分享给大家供大家参考,具体如下:

CakePHP Session 存储选项

CakePHP提供给用户了3种Session数据保存方式:

1. CakePHP安装目下的临时文件;
2. 采用PHP的默认机制;
3. 或者序列化到数据库中.

对应的设置在core.php中分别为:

 
define('CAKE_SESSION_SAVE','php');
# 设置为'cake',保存session到 /cakedistro/tmp目录
# 设置为'php',采用PHP的缺省路径
# 设置为'database',

默认采用PHP的机制.

如果选择在数据库中存储,需要在数据库中建立一张表,在/app/config/sql/sessions.sql有创建数据库的sql脚本.

无论选择哪种Session存储方式,CakePHP的组件方法操作基本一致:

CakePHP Session Component用来与Session进行交互:包括基本的Session读写,通过Session来提示错误、发出提示消息等等.

Session Component在所有 Cake controller 中默认可用.

check(string $name);

检查Session中是否已有$name为键值的数据项.

del(string $name);
delete(string $name);

删除$name 指定的 Session 变量。

error

返回最近由 Cake Session Component 产生的错误,常用于调试。

flash(string $key='flash');

返回最后一条Session中用 setFlash() 设置的消息。如果 $key 已设置,将返回最近存储于其中的消息.

read(string $name);

返回 $name 变量值。

renew

通过创建新的seesion ID,删除原有的ID,将原有Session中信息更新到新的Session中。

setFlash(string $flashMessage, string $layout='default', array $params, string $key='flash');

将$flashMessage 中的信息写入Session(供之后的flash()方法来获取)。

如果 $leyout 设置为 “default”,该消息被存储为 '

'.$flashMessage.'

'。如果$layout 设置为  '',该消息将按原样保存。如果 $layout 为其他值,该消息以 $layout 所指定的格式保存在 Cake view里。

$params 参数会在未来版本中赋予功能。

$key 允许在键下存储提示消息,flash() 是基于键来读取消息的。

valid当Session有效时返回true,最好在read()操作前用它来确定你要访问的会话是否确实有效.

write(string $name, mixed $value);

将变量 $name,$value写入会话.

小编推荐的这篇文章介绍了cakephp2.X多表联合查询join及使用分页查询的方法,非常实用,有兴趣的同学快看看吧

格式化参数:

 代码如下 复制代码

publicfunctiongetconditions($data){

  $this->loadModel("Cm.LoginHistory");

  $conditions=array();

  foreach($dataas$key=>$val){

    if($key=='start_date'){

      $conditions['LoginHistory.logintime >=']=trim($val);

    }elseif($key=='end_date'){

      $conditions['LoginHistory.logouttime <=']=trim($val);

    }elseif($key=='selectvsoftid'and$val!=''){

      $conditions['LoginHistory.LOGINSUBSYSTEM LIKE']='%'.trim($val).'%';

    }elseif($key=='username'and$val!=''){

      $conditions['LoginHistory.USERNAME LIKE']='%'.trim($val).'%';

    }elseif($key=='vdevicename'and$val!=''){

      $conditions['LoginHistory.WINDOWNAME LIKE']='%'.trim($val).'%';

    }elseif($key=='selectvsoftid'and$val!=''){

      $conditions['LoginHistory.PHDEVICENAME LIKE']='%'.trim($val).'%';

    }

  }

  return$conditions;

}

分页查询:

 代码如下 复制代码

$fields=array('LoginHistory.windowname','LoginHistory.loginsubsystem','VirtualDevice.PHDEVICEID','LoginHistory.userid','VirtualDevice.SYSTYPEID','UserInfo.USERNAME','"SUM"(LoginHistory.LOGOUTTIME-LoginHistory.LOGINTIME) moument','UserInfo.USERNAME','DeviceInfo.DEVICENAME');

$group=array('LoginHistory.windowname','LoginHistory.loginsubsystem','LoginHistory.userid','UserInfo.USERNAME','DeviceInfo.DEVICENAME','VirtualDevice.SYSTYPEID','VirtualDevice.PHDEVICEID');

$this->paginate =array('conditions'=>$conditions,'fields'=>$fields,'group'=>$group,'limit'=>9,'joins'=>array(

   array(

     'alias'=>'UserInfo',

     'table'=>'SMM_USERINFO',

     'type'=>'LEFT',

     'conditions'=>' LoginHistory.USERID=UserInfo.USERID ',

   ),

   array(

     'alias'=>'VirtualDevice',

     'table'=>'ET_NMVIRTUALDEVICEINFO',

     'type'=>'LEFT',

     'conditions'=>' LoginHistory.WINDOWNAME=VirtualDevice.DEVICENAME ',

   ),

   array(

     'alias'=>'DeviceInfo',

     'table'=>'ET_NMDEVICEINFO',

     'type'=>'LEFT',

     'conditions'=>' VirtualDevice.PHDEVICEID=DeviceInfo.DEVICEID ',

   ),

 ));

$LoginHistory=$this->paginate('LoginHistory');

$this->set('loginhistory',$LoginHistory);

[!--infotagslink--]

相关文章

  • php读取zip文件(删除文件,提取文件,增加文件)实例

    下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
  • 不打开网页直接查看网站的源代码

      有一种方法,可以不打开网站而直接查看到这个网站的源代码..   这样可以有效地防止误入恶意网站...   在浏览器地址栏输入:   view-source:http://...2016-09-20
  • php 调用goolge地图代码

    <?php require('path.inc.php'); header('content-Type: text/html; charset=utf-8'); $borough_id = intval($_GET['id']); if(!$borough_id){ echo ' ...2016-11-25
  • JS+CSS实现分类动态选择及移动功能效果代码

    本文实例讲述了JS+CSS实现分类动态选择及移动功能效果代码。分享给大家供大家参考,具体如下:这是一个类似选项卡功能的选择插件,与普通的TAb区别是加入了动画效果,多用于商品类网站,用作商品分类功能,不过其它网站也可以用,...2015-10-21
  • 删除条目时弹出的确认对话框

    复制代码 代码如下: <td> <a href="/member/life/edit_ppt/<?php echo $v->id;?>" class="btn">编辑</a> <a href="javascript:;" onclick="if(confirm('您确定删除这条记录?')){location.href='/member/life/d...2014-06-07
  • JS实现自定义简单网页软键盘效果代码

    本文实例讲述了JS实现自定义简单网页软键盘效果。分享给大家供大家参考,具体如下:这是一款自定义的简单点的网页软键盘,没有使用任何控件,仅是为了练习JavaScript编写水平,安全性方面没有过多考虑,有顾虑的可以不用,目的是学...2015-11-08
  • JS基于Mootools实现的个性菜单效果代码

    本文实例讲述了JS基于Mootools实现的个性菜单效果代码。分享给大家供大家参考,具体如下:这里演示基于Mootools做的带动画的垂直型菜单,是一个初学者写的,用来学习Mootools的使用有帮助,下载时请注意要将外部引用的mootools...2015-10-23
  • php 取除连续空格与换行代码

    php 取除连续空格与换行代码,这些我们都用到str_replace与正则函数 第一种: $content=str_replace("n","",$content); echo $content; 第二种: $content=preg_replac...2016-11-25
  • php简单用户登陆程序代码

    php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p>&nbsp;</p> <p>&nbsp;</p> <form name="form1...2016-11-25
  • PHP实现清除wordpress里恶意代码

    公司一些wordpress网站由于下载的插件存在恶意代码,导致整个服务器所有网站PHP文件都存在恶意代码,就写了个简单的脚本清除。恶意代码示例...2015-10-23
  • js识别uc浏览器的代码

    其实挺简单的就是if(navigator.userAgent.indexOf('UCBrowser') > -1) {alert("uc浏览器");}else{//不是uc浏览器执行的操作}如果想测试某个浏览器的特征可以通过如下方法获取JS获取浏览器信息 浏览器代码名称:navigator...2015-11-08
  • JS实现双击屏幕滚动效果代码

    本文实例讲述了JS实现双击屏幕滚动效果代码。分享给大家供大家参考,具体如下:这里演示双击滚屏效果代码的实现方法,不知道有觉得有用处的没,现在网上还有很多还在用这个特效的呢,代码分享给大家吧。运行效果截图如下:在线演...2015-10-30
  • JS日期加减,日期运算代码

    一、日期减去天数等于第二个日期function cc(dd,dadd){//可以加上错误处理var a = new Date(dd)a = a.valueOf()a = a - dadd * 24 * 60 * 60 * 1000a = new Date(a)alert(a.getFullYear() + "年" + (a.getMonth() +...2015-11-08
  • PHP开发微信支付的代码分享

    微信支付,即便交了保证金,你还是处理测试阶段,不能正式发布。必须到你通过程序测试提交订单、发货通知等数据到微信的系统中,才能申请发布。然后,因为在微信中是通过JS方式调用API,必须在微信后台设置支付授权目录,而且要到...2014-05-31
  • php跨网站请求伪造与防止伪造方法

    伪造跨站请求介绍伪造跨站请求比较难以防范,而且危害巨大,攻击者可以通过这种方式恶作剧,发spam信息,删除数据等等。...2013-10-01
  • PHP常用的小程序代码段

    本文实例讲述了PHP常用的小程序代码段。分享给大家供大家参考,具体如下:1.计算两个时间的相差几天$startdate=strtotime("2009-12-09");$enddate=strtotime("2009-12-05");上面的php时间日期函数strtotime已经把字符串...2015-11-24
  • php怎么用拼音 简单的php中文转拼音的实现代码

    小编分享了一段简单的php中文转拼音的实现代码,代码简单易懂,适合初学php的同学参考学习。 代码如下 复制代码 <?phpfunction Pinyin($_String...2017-07-06
  • Centos中彻底删除Mysql(rpm、yum安装的情况)

    我用的centos6,mysql让我整出了各种问题,我想重装一个全新的mysql,yum remove mysql-server mysql之后再install并不能得到一个干净的mysql,原来的/etc/my.cnf依然没变,datadir里面的数据已没有任何变化,手动删除/etc/my.cn...2015-03-15
  • MyBatis-Plus的物理删除和逻辑删除(使用场景)

    数据库中的数据删除会分为两种:物理删除 和 逻辑删除,接下来通过本文给大家介绍MyBatis-Plus的物理删除和逻辑删除使用场景分析,感兴趣的朋友一起看看吧...2021-09-25
  • php导出csv格式数据并将数字转换成文本的思路以及代码分享

    php导出csv格式数据实现:先定义一个字符串 存储内容,例如 $exportdata = '规则111,规则222,审222,规222,服2222,规则1,规则2,规则3,匹配字符,设置时间,有效期'."/n";然后对需要保存csv的数组进行foreach循环,例如复制代...2014-06-07