Update Values of Entire Table using PHP
This code assumes you are connected to a MySQL database which has a table with Names and Emails. The idea is that it will output a table of every single value from that table, as text inputs. You can then alter the values of these inputs and re-submit, updating all the values in the database.
//get data from db
$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>
<th> </th>
<th>Name</th>
<th>Email</th>
</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><input type="hidden" name="id[]" value='.$r->id.' readonly></td>
<td>'.$r->name.'</td>
<td><input name="email[]" type="text" id="price" value="'.$r->email.'"></td>
</tr>';
}
//submit button
echo'<tr>
<td colspan="3" align="center"><input type="submit" name="Submit" value="Submit"></td>
</tr>
</table>
</form>';
// if form has been submitted, process 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");
}