输入的id

时间:2013-04-04 00:16:50

标签: php mysql

我正在使用表单发送多个输入,如何获取实际输入的id,所以我可以更新mysql内容?

我的代码:

if (isset($_POST['save']))
    {
    foreach ($_POST as $key => $value)
        {
        ${$key} = $value;
        mysql_query("UPDATE table SET img='$image_[id]', title='$title_[id]' where id='$id'");
        }
    }

while ($row = mysql_fetch_array($result))
    {
    echo "<b>Title: </b><input type='text' name='title_" . $row['id'] . "' value='" . $row['title'] . "'><br />";
    echo "<b>Image: </b><input type='text' name='image_" . $row['id'] . "' value='";
    }
echo '<input type="submit" name="save" value="save"><br /><hr>';
echo '</form>';

1 个答案:

答案 0 :(得分:0)

您的命名错误。用这种方式。

echo "...    name='title[" . $row['id'] . "]'...";

然后你的$_POST['title']将包含一系列标题。

阅读手册How do I create arrays in a HTML ?


但如果你还是那样的话。你可以使用这样的东西。

foreach ($_POST as $key => $value)
    {
    if (preg_match('^image_(\d*)$', $key, $matches))
        {
        $id = $matches[1];
        if (isset($_POST['title_' . $id]))
            {
            mysql_query("UPDATE table SET title='" . $_POST['title_' . $id] . "' where id='$id'");
            }
        }
    }

但请在此处注明您了解此代码的所有漏洞。