2016-02-19 60 views
0

我有此:PHP更新多个原始

<?php 
$query1=mysql_query("select * from addd"); 
?> 

<form method="post" action="bulkreload.php" enctype="multipart/form-data" > 

<?php 
while($query2=mysql_fetch_array($query1)) 
{ 
?> 

ID: <input type="text" cols="50" name="id<?php echo $query2['id']; ?>" value="<?php echo $query2['id']; ?>"/> 
Email: <input type="text" cols="50" name="email<?php echo $query2['id']; ?>" value="<?php echo $query2['email']; ?>"/> 
Age:<input type="text" name="age<?php echo $query2['id']; ?>" value="<?php echo $query2['age']; ?>" /> 

<?php 
} 
?> 

<input type="submit" value="Update" name="submit"> 

</form> 

有了这个代码,我从addd的所有数据。 我的对象是:用一个提交按钮更新所有数据。

我想我需要使用一个php循环来更新每一个数据,但我不知道如何创建它。

里面bulkreload.php我有这样的:

$id=$_POST['id']; 

$email=$_POST['email']; 

$age=$_POST['age']; 

$query3=mysql_query("update addd set email='$email', age='$age' where id='$id'"); 


if ($query3) { 
echo "News Updated"; 
} 

不要因为工作是建立在事务所文章取数据。

回答

0

您的POST键现在包含键AND id。

尝试此为表单:

ID: <input type="text" cols="50" name="row[<?php echo $query2['id']; ?>][id]" value="<?php echo $query2['id']; ?>"/> 

Email: <input type="text" cols="50" name="row[<?php echo $query2['id']; ?>][email]; ?>" value="<?php echo $query2['email']; ?>"/> 

Age:<input type="text" name="row[<?php echo $query2['id']; ?>][age]" value="<?php echo $query2['age']; ?>" /> 

这将产生类似于POST数组:

$_POST['row'] = array(
    1 => array(
     'id'= > 1, 
     'email' => 'your_1_email', 
     'age' => 'your_1_age' 
    ), 
    // more lines here 
    N => array(
     'id'= > N, 
     'email' => 'your_N_email', 
     'age' => 'your_N_age' 
    ) 
); 

它将含有N-阵列和您的insert将变为:

$post = $_POST['row']; 
foreach($post as $row) { 
    $id = $row['id']; 
    $age = $row['age']; 
    $email = $row['email']; 
    $query = mysql_query(
     "update addd set email='$email', age='$age' where id='$id'" 
    ); 
    if ($query) { 
     echo "News Updated"; 
    } 
} 

请注意,是的,你可以POST阵列;)