首页 > 语言 > PHP > 正文

PHP+JS实现批量删除数据功能示例

2024-05-05 00:00:56
字体:
来源:转载
供稿:网友

本文实例讲述了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

<?phpinclude('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:

<?phpClass 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教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选