本文实例讲述了PHP+JS实现批量删除数据功能。分享给大家供大家参考,具体如下:
表单
1
2
3
4
5
6
7
8
|
< 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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<?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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
|
<?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
1
2
3
4
5
6
7
8
9
10
|
<?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程序设计有所帮助。
原文链接:http://blog.csdn.net/dongsg11200/article/details/8150157