PHP+JS實現大量刪除資料功能

來源:互聯網
上載者:User
本文主要介紹了PHP+JS實現大量刪除資料功能,結合執行個體形式分析了php結合js控制頁面元素的選中與提交,以及php操作mysql實現大量刪除功能的相關實現技巧,末尾還附帶了一個php資料庫操作類,需要的朋友可以參考下,希望能協助到大家。

本文執行個體講述了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><p 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="刪除"/></p></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"] = './';//開啟日誌?>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.