Return to Snippet

Revision: 18305
at September 28, 2009 04:30 by daveismyname


Initial Code
//get data fromdb
$sql = mysql_query("SELECT * FROM table");
$count=mysql_num_rows($sql);

//start a table
echo '<form name="form1" method="post" action="">
<table width="292" border="0" cellspacing="1" cellpadding="0">';

//start header of table
echo '<tr>
<td width="17" align="center">&nbsp;</td>
<td width="115" align="center"><strong>Name</strong></td>
<td width="149"><strong>Email</strong></td>
</tr>';

//loop through all results
while($r=mysql_fetch_object($sql)){
	
//print out table contents and add id into an array and email into an array
echo '<tr>
<td align="center"><input type="hidden" name="id[]" value='.$r->id.' readonly></td>
<td align="center">'.$r->name.'</td>
<td><input name="email[]" type="text" id="price" value="'.$r->email.'"></td>
</tr>';
}

//submit the form

echo'<tr>
<td colspan="3" align="center"><input type="submit" name="Submit" value="Submit"></td>
</tr>
</table>
</form>';


//if form has been pressed proccess it

if($_POST["Submit"])
{
	//get data from form	
	$name = $_POST['name'];
	//loop through all array items 
    foreach($_POST['id'] as $value) 
	{
        //minus value by 1 since arrays start at 0
		$item = $value-1;
		//update table
        $sql1 = mysql_query("UPDATE table SET email='$email[$item]' WHERE id='$value'")or die(mysql_error());
    }
	
//redirect user 
$_SESSION['success'] = 'Updated';
header("location:index.php");
}

Initial URL

                                

Initial Description
This snippet allows you to update multiple rows of a database using a single form in one easy click

Initial Title
Update Multiple rows in a single form

Initial Tags
form, update

Initial Language
PHP