插入/删除/更新后我必须手动更新页面,直到我看到结果..为什么?我该如何解决这个问题
if (isset($_POST['action']) && $_POST['action']=='submitted') {
if (isset($_POST['update'])) {
$selected = $_POST['selected'];
for ($i=0; $i<$columncount;$i++){
$value[$i] = $_POST[$name[$i]];
foreach ($selected as $j)
mysql_query ("UPDATE $tablename set $name[$i]='".$value[$i][$j]." 'WHERE $name[0]=".$value[0][$j]);}
}
从表单中读取表值并更新
答案 0 :(得分:1)
因为您在显示表格后更新了数据库。
换句话说,您获取值,显示它们,然后更新它们。要解决此问题,只需将上面的代码放在表格显示上方即可。
答案 1 :(得分:0)
除了显而易见的SQL injection漏洞,只是要求你的服务器pwn3d,你的查询没有任何错误处理 - 你假设它成功了。为什么不花费额外的2秒来尝试处理查询可能实际上有语法错误的可能性?
$result = mysql_query(...) or die(mysql_error());
^^^^^^^^^^^^^^^^^^^^^^
答案 2 :(得分:0)
试试这个。希望它能起作用
mysql_query ("UPDATE ".$tablename." set ".$name[$i]."='".$value[$i][$j]."' WHERE ".$name[0]."='".$value[0][$j]."';");}