2016-02-19 61 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陣列;)