我正在使用表单发送多个输入,如何获取实际输入的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>';
答案 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'");
}
}
}
但请在此处注明您了解此代码的所有漏洞。