View Single Post
Old 04-26-2010, 03:39 AM   PM User | #1
student101
Regular Coder

 
student101's Avatar
 
Join Date: Nov 2007
Posts: 610
Thanks: 80
Thanked 13 Times in 13 Posts
student101 is on a distinguished road
Post Update multiple rows in MySQL with checkboxes

A useful method to select all checkboxes and the ability to update MySQL records with PHP.
Code:
CREATE DATABASE `test`;
USE `test`;
 
CREATE TABLE `test_mysql` (
`id` int(4) NOT NULL auto_increment,
`name` varchar(65) NOT NULL default '',
`lastname` varchar(65) NOT NULL default '',
`email` varchar(65) NOT NULL default '',
`status` varchar(1) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=7 ;
 
--
-- Dumping data for table `test_mysql`
--
 
INSERT INTO `test_mysql` VALUES (1, 'Billly', 'Bob', 'bb@example.com','Y');
INSERT INTO `test_mysql` VALUES (2, 'James', 'Bell', 'jb@example.com','Y');
INSERT INTO `test_mysql` VALUES (3, 'Mark', 'Jackson', 'mj@example.com','N');
INSERT INTO `test_mysql` VALUES (4, 'Linda', 'Travorse', 'lt@example.com','Y');
INSERT INTO `test_mysql` VALUES (5, 'Joy', 'Ford', 'jf@example.com','Y');
INSERT INTO `test_mysql` VALUES (6, 'Sidney', 'Gib',  'sgib@example.com','N');
You can name this page anything you like, multiple_update.php
PHP Code:
<?php
$host
="localhost"// Host name 
$username="username"// Mysql username 
$password="password"// Mysql password 
$db_name="test"// Database name 
$tbl_name="test_mysql"// Table name 
 
// Connect to server and select databse.
mysql_connect("$host""$username""$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");
 
if(isset(
$_POST['checkbox'])){$checkbox $_POST['checkbox'];
if(isset(
$_POST['activate'])?$activate $_POST["activate"]:$deactivate $_POST["deactivate"])
 
$id "('" implode"','"$checkbox ) . "');" ;
$sql="UPDATE test_mysql SET status = '".(isset($activate)?'Y':'N')."' WHERE id IN $id" ;
$result mysql_query($sql) or die(mysql_error());
}
 
$sql="SELECT * FROM $tbl_name";
$result=mysql_query($sql);
 
$count=mysql_num_rows($result);
?>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Update multiple rows in mysql with checkbox</title>
 
<script type="text/javascript">
<!--
function un_check(){
for (var i = 0; i < document.frmactive.elements.length; i++) {
var e = document.frmactive.elements[i];
if ((e.name != 'allbox') && (e.type == 'checkbox')) {
e.checked = document.frmactive.allbox.checked;
}
}
}
//-->
</script>
 
</head>
<body>
 
<table width="400" border="0" cellspacing="1" cellpadding="0">
<tr>
<td><form name="frmactive" method="post" action="">
<table width="400" border="0" cellpadding="3" cellspacing="1">
<tr>
  <td colspan="5"><input name="activate" type="submit" id="activate" value="Activate" />
  <input name="deactivate" type="submit" id="deactivate" value="Deactivate" /></td>
  </tr>
<tr>
<td>&nbsp;</td>
<td colspan="4"><strong>Update multiple rows in mysql with checkbox</strong> </td>
</tr>
<tr>
<td align="center"><input type="checkbox" name="allbox" onclick="un_check(this);" title="Select or Deselct ALL" style="background-color:#ccc;"/></td>
<td align="center"><strong>Id</strong></td>
<td align="center"><strong>Firstname</strong></td>
<td align="center"><strong>Lastname</strong></td>
<td align="center"><strong>Status</strong></td>
</tr>
<?php
while($rows=mysql_fetch_array($result)){
?>
<tr>
<td align="center"><input name="checkbox[]" type="checkbox" id="checkbox[]" value="<? echo $rows['id']; ?>"></td>
<td><? echo $rows['id']; ?></td>
<td><? echo $rows['name']; ?></td>
<td><? echo $rows['lastname']; ?></td>
<td><? echo $rows['status']; ?></td>
</tr>
<?php
}
?>
<tr>
<td colspan="5" align="center">&nbsp;</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
 
</body>
</html>
register_globals = Off
__________________
Thanks for your support!
Update MySQL with checkboxes | Tell A Friend | Delete MySQL with checkboxes

Give thanks & resolve when done :thumbsup:
student101 is offline   Reply With Quote