php更新多个原始

时间:2016-02-19 13:22:10

标签: php html sql

我已经做到了:

<?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";
}

不要工作因为是为了在sigle文章上获取数据而构建。

1 个答案:

答案 0 :(得分:0)

您的POST键现在包含键和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数组;)