PHP+JS实现批量删除数据功能示例
2018-09-07 12:20
本文实例讲述了PHP+JS实现批量删除数据功能。分享给大家供大家参考,具体如下:
表单
<form id=form2 name=form2 method=post action=del_product.php onsubmit=return checkF(this)> <label> <input type=checkbox name=id[] value=<?php echo $rs[id];?> style=background:none; border:none; /> </label> <div style=padding-left:20px;><input type=button value=全选 style=background:url(images/cheall.jpg) no-repeat; width:60px; height:23px; border:none; onClick=selectBox(all)/> <input type=button value=反选 style=background:url(images/cheall.jpg) no-repeat; width:60px; height:23px; border:none; onClick=selectBox(reverse)/> <input type=submit name=btnSave style=background:url(images/cheall.jpg) no-repeat; width:60px; height:23px; border:none; value=删除/></div> </form>
JS
<script type=text/javascript language=javascript> function selectBox(selectType){ var checkboxis = document.getElementsByName(id[]); if(selectType == reverse){ for (var i=0; i<checkboxis.length; i++){ //alert(checkboxis[i].checked); checkboxis[i].checked = !checkboxis[i].checked; } } else if(selectType == all) { for (var i=0; i<checkboxis.length; i++){ //alert(checkboxis[i].checked); checkboxis[i].checked = true; } } } </script>
del_product.php
<?php include(checkadmin.php); header(Content-Type: text/html; charset=utf-8); if($_POST[btnSave]){ if(empty($_POST[id])){ echo<script>alert(必须选择一个产品,才可以删除!);history.back(-1);</script>; exit; }else{ /*如果要获取全部数值则使用下面代码*/ $id= implode(,,$_POST[id]); $str=DELETE FROM `product` where id in ($id); mysql_query($str); echo <script>alert(删除成功!);window.location.href=product_list.php;</script>; } } ?>
附:php实现的数据库操作类
Db.php:
<?php Class DB { private $link_id; private $handle; private $is_log; private $time; //构造函数 public function __construct() { $this->time = $this->microtime_float(); require_once(config.db.php); $this->connect($db_config[hostname], $db_config[username], $db_config[password], $db_config[database], $db_config[pconnect]); $this->is_log = $db_config[log]; if($this->is_log){ $handle = fopen($db_config[logfilepath].dblog.txt, a+); $this->handle=$handle; } } //数据库连接 public function connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect = 0,$charset=utf8) { if( $pconnect==0 ) { $this->link_id = @mysql_connect($dbhost, $dbuser, $dbpw, true); if(!$this->link_id){ $this->halt(数据库连接失败); } } else { $this->link_id = @mysql_pconnect($dbhost, $dbuser, $dbpw); if(!$this->link_id){ $this->halt(数据库持久连接失败); } } if(!@mysql_select_db($dbname,$this->link_id)) { $this->halt(数据库选择失败); } @mysql_query(set names .$charset); } //查询 public function query($sql) { $this->write_log(查询 .$sql); $query = mysql_query($sql,$this->link_id); if(!$query) $this->halt(Query Error: . $sql); return $query; } //获取一条记录(MYSQL_ASSOC,MYSQL_NUM,MYSQL_BOTH) public function get_one($sql,$result_type = MYSQL_ASSOC) { $query = $this->query($sql); $rt =& mysql_fetch_array($query,$result_type); $this->write_log(获取一条记录 .$sql); return $rt; } //获取全部记录 public function get_all($sql,$result_type = MYSQL_ASSOC) { $query = $this->query($sql); $i = 0; $rt = array(); while($row =& mysql_fetch_array($query,$result_type)) { $rt[$i]=$row; $i++; } $this->write_log(获取全部记录 .$sql); return $rt; } //插入 public function insert($table,$dataArray) { $field = ; $value = ; if( !is_array($dataArray) count($dataArray)<=0) { $this->halt(没有要插入的数据); return false; } while(list($key,$val)=each($dataArray)) { $field .=$key,; $value .=$val,; } $field = substr( $field,0,-1); $value = substr( $value,0,-1); $sql = insert into $table($field) values($value); $this->write_log(插入 .$sql); if(!$this->query($sql)) return false; return true; } //更新 public function update( $table,$dataArray,$condition=) { if( !is_array($dataArray) count($dataArray)<=0) { $this->halt(没有要更新的数据); return false; } $value = ; while( list($key,$val) = each($dataArray)) $value .= $key = $val,; $value .= substr( $value,0,-1); $sql = update $table set $value where 1=1 and $condition; $this->write_log(更新 .$sql); if(!$this->query($sql)) return false; return true; } //删除 public function delete( $table,$condition=) { if( empty($condition) ) { $this->halt(没有设置删除的条件); return false; } $sql = delete from $table where 1=1 and $condition; $this->write_log(删除 .$sql); if(!$this->query($sql)) return false; return true; } //返回结果集 public function fetch_array($query, $result_type = MYSQL_ASSOC){ $this->write_log(返回结果集); return mysql_fetch_array($query, $result_type); } //获取记录条数 public function num_rows($results) { if(!is_bool($results)) { $num = mysql_num_rows($results); $this->write_log(获取的记录条数为.$num); return $num; } else { return 0; } } //释放结果集 public function free_result() { $void = func_get_args(); foreach($void as $query) { if(is_resource($query) && get_resource_type($query) === mysql result) { return mysql_free_result($query); } } $this->write_log(释放结果集); } //获取最后插入的id public function insert_id() { $id = mysql_insert_id($this->link_id); $this->write_log(最后插入的id为.$id); return $id; } //关闭数据库连接 protected function close() { $this->write_log(已关闭数据库连接); return @mysql_close($this->link_id); } //错误提示 private function halt($msg=) { $msg .= \r\n.mysql_error(); $this->write_log($msg); die($msg); } //析构函数 public function __destruct() { $this->free_result(); $use_time = ($this-> microtime_float())-($this->time); $this->write_log(完成整个查询任务,所用时间为.$use_time); if($this->is_log){ fclose($this->handle); } } //写入日志文件 public function write_log($msg=){ if($this->is_log){ $text = date(Y-m-d H:i:s). .$msg.\r\n; fwrite($this->handle,$text); } } //获取毫秒数 public function microtime_float() { list($usec, $sec) = explode( , microtime()); return ((float)$usec + (float)$sec); } } ?>
config.db.php
<?php $db_config[hostname] = localhost; //服务器地址 $db_config[username] = root; //数据库用户名 $db_config[password] = 123; //数据库密码 $db_config[database] = test; //数据库名称 $db_config[charset] = utf8;//数据库编码 $db_config[pconnect] = 1;//开启持久连接 $db_config[log] = 1;//开启日志 $db_config[logfilepath] = ./;//开启日志 ?>
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php+mysql数据库操作入门教程》、《php+mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
文章标题:PHP+JS实现批量删除数据功能示例
文章链接:http://soscw.com/index.php/essay/11756.html