PHP如何循环从html表单获取的数据并将其保存到mysql数据库中?

时间:2015-01-13 16:16:01

标签: php mysql

那我该怎么做代码?

我们说我的表格是:

<form action="check.php" method="POST">
<textarea name="ans[0]"> </textarea>
<textarea name="ans[1]"> </textarea>
<textarea name="ans[2]"> </textarea>
<textarea name="ans[3]"> </textarea>
<input type="submit" />

check.php:

<?php
include('mysql.php'); // in this file i get connected to my db
foreach($ans as $index)
{
    //I want to make this to do that: 
    mysql_query("UPDATE mytable SET $ans = '$ans[1]' WHERE user = 'Me'"); // How do I make that to update $ans[0] for first loop scan, than in next loop scan $ans[1] then $ans[2] and so on...
}
?>

是的,我在这些东西中be and并不知道这个代码应该如何工作。谢谢你的回答。

2 个答案:

答案 0 :(得分:3)

首先,您不必为textareas设置索引:

<textarea name="ans[]"> </textarea>

避免使用mysql_驱动程序连接数据库。请改用PDO。

PHP方

if(isset($_POST['ans']) AND is_array($_POST['ans'])){
    $ans = $_POST['ans'];
    foreach($ans as $content){
        //your query
        $db->query("UPDATE table ......");
    }
}

答案 1 :(得分:0)

我认为此代码可以帮助您。

<form action="check.php" method="POST">
    <textarea name="ans[0]"> </textarea>
    <textarea name="ans[1]"> </textarea>
    <textarea name="ans[2]"> </textarea>
    <textarea name="ans[3]"> </textarea>
    <input type="submit" />
</form>
<?php
    $ans = (array) (isset($_POST['ans']) ? $_POST['ans'] : null);

    foreach($ans as $index=>$value)
    {
        $query = "UPDATE mytable SET `$index` = '$value' WHERE user = 'Me'";
    }

使用PDO而不是mysql php库。 =&GT; https://stackoverflow.com/a/1402096/1016229