我正在尝试从一个表中提取数据,将列与变量进行比较,然后如果它们匹配,则添加它们并更新另一个表上的字段。看来 UPDATE 只在 while 循环内工作一次,并将该一次的值放入整个表中该列的每一行中。奇怪的是,当我回显它时,所有值都是正确的(唯一的)..但只有当我回显时......当我用终端查看表时,该列的所有行都是相同的。我读到你不能一次使用 2 个查询...然后再次...我读到你可以,如果第一个查询在循环之外...请帮助...
我想添加每行的field1和field2并将总计放在总计行中。
这是代码....
<?php
require("connection.php");
mysql_select_db("database", $connection);
echo "<br />";
$result = mysql_query("SELECT * FROM table");
while($row = mysql_fetch_array($result))
{
$values = ($row['field1'] + $row['field2']);
echo "values = " . $values;
$sql=mysql_query("UPDATE table SET total_val = '$values'");
echo $row['user_name'] . " " . $values;
echo "<br />";
}
?>
这就是回声给我的
Susan 14
Mary 18
Bob 13
Sam 21
这是数据库
mysql> SELECT total_val FROM table;
+-----------+
| total_val |
+-----------+
| 21 |
| 21 |
| 21 |
| 21 |
+-----------+
ech 总数正是我想要的。我只需要将它们放入total_val 列中。
更新特定(当前)行while
loop
目前,当 while 循环到达迭代结束时,它的总数为 21,并且它用值 21 更新表,因此所有行都包含 21。
您的更新查询每次都会更新所有行
在此输入要更新的唯一 ID 的条件
$sql=mysql_query("UPDATE table SET total_val = '$values' WHERE id=$row['id']");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)