<form action="" method="post">
<fieldset>
<input type="text" name="link_name[]" value="xyz" />
<input type="text" name="link_name[]" value="abc" />
<input type="text" name="link_name[]" value="qwe" />
<input type="text" name="link_name[]" value="asd" />
<input type="submit" name="submit" value="submit"/>
</fieldset>
</form>
我想更新数据库中的任何单个数据..例如..如果我必须像xxx那样更新第一个文本字段值..那么如何使用post方法更新它..我想更新不插入所以请帮我..给一些演示或提示......
如果我使用
if(isset($_post['submit']))
{
$link_name=$_POST['link_name'];
mysql_query("update tbl set link_name='$link_name' where id='$id'");
}
然后它改变我所有的同名记录..我无法改变任何特定的数据..所以请给出一些建议。
我想更新数据库中的任何单个数据..例如..如果我必须像xxx那样更新第一个文本字段值..那么如何使用post方法更新它..我想更新不插入所以请帮我..给一些演示或提示......
答案 0 :(得分:0)
更新单个记录在保存id的表单中放置一个隐藏字段,如果要更新的帖子然后尝试这个
// update only first field
if(isset($_post['submit']))
{
//var_dump($_POST['link_name']);
$link_name=$_POST['link_name'][0];
mysql_query("update tbl set link_name='$link_name' where id='$id'");
}
// update all field
foreach($_POST['link_name'] as $link_name)
{
mysql_query("update tbl set link_name='$link_name' where id='$id'");
}
答案 1 :(得分:0)
您需要指定每个输入的ID。您可以使用不同的方法。例如,您可以为具有此行ID的每个文本输入设置隐藏输入
<input type="text" name="link_name[]" value="xyz" />
<input type="hidden" name="ids[]" value="340" />
在服务器中,您需要在link_name数组上执行循环,并为每个元素恢复id:
for($i=0;$i<count($link_name);$i++)
{
$id = $_POST['ids'][$i];
mysql_query("update tbl set link_name='$link_name' where id='$id'");
}