PHP+JS實現(xiàn)批量刪除數(shù)據(jù)功能示例
本文實例講述了PHP+JS實現(xiàn)批量刪除數(shù)據(jù)功能。分享給大家供大家參考,具體如下:
表單
<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{
/*如果要獲取全部數(shù)值則使用下面代碼*/
$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實現(xiàn)的數(shù)據(jù)庫操作類
Db.php:
<?php
Class DB {
private $link_id;
private $handle;
private $is_log;
private $time;
//構造函數(shù)
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;
}
}
//數(shù)據(jù)庫連接
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("數(shù)據(jù)庫連接失敗");
}
} else {
$this->link_id = @mysql_pconnect($dbhost, $dbuser, $dbpw);
if(!$this->link_id){
$this->halt("數(shù)據(jù)庫持久連接失敗");
}
}
if(!@mysql_select_db($dbname,$this->link_id)) {
$this->halt('數(shù)據(jù)庫選擇失敗');
}
@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('沒有要插入的數(shù)據(jù)');
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('沒有要更新的數(shù)據(jù)');
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);
}
//獲取記錄條數(shù)
public function num_rows($results) {
if(!is_bool($results)) {
$num = mysql_num_rows($results);
$this->write_log("獲取的記錄條數(shù)為".$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;
}
//關閉數(shù)據(jù)庫連接
protected function close() {
$this->write_log("已關閉數(shù)據(jù)庫連接");
return @mysql_close($this->link_id);
}
//錯誤提示
private function halt($msg='') {
$msg .= "\r\n".mysql_error();
$this->write_log($msg);
die($msg);
}
//析構函數(shù)
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);
}
}
//獲取毫秒數(shù)
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"; //數(shù)據(jù)庫用戶名 $db_config["password"] = "123"; //數(shù)據(jù)庫密碼 $db_config["database"] = "test"; //數(shù)據(jù)庫名稱 $db_config["charset"] = "utf8";//數(shù)據(jù)庫編碼 $db_config["pconnect"] = 1;//開啟持久連接 $db_config["log"] = 1;//開啟日志 $db_config["logfilepath"] = './';//開啟日志 ?>
更多關于PHP相關內容感興趣的讀者可查看本站專題:《php+mysql數(shù)據(jù)庫操作入門教程》、《php+mysqli數(shù)據(jù)庫程序設計技巧總結》、《php面向對象程序設計入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
相關文章
PHP實現(xiàn)微信模擬登陸并給用戶發(fā)送消息的方法【文字,圖片,圖文】
這篇文章主要介紹了PHP實現(xiàn)微信模擬登陸并給用戶發(fā)送消息的方法,可實現(xiàn)發(fā)送文字、圖片及圖文的功能,涉及php針對微信接口的相關操作技巧,需要的朋友可以參考下2017-06-06
解決安裝WampServer時提示缺少msvcr110.dll文件的問題
下面小編就為大家?guī)硪黄鉀Q安裝WampServer時提示缺少msvcr110.dll文件的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07

