php - 如何用一个查询更新 SQL 中的所有行?

标签 php mysql

我有一个现有的 Prestashop 数据库,我对它做了一些小的修改。我制作了一个单独的 PHP 页面,该页面从包含产品的表中获取数据(仅我需要的数据),并一个接一个地向我显示该表中的所有产品。我还有一个更新产品的功能,我在上面按编辑。

所以,简而言之,每次点击我可以更新一个产品。但是现在我有大约 220 种产品,为了更新每个产品的值(value)(价格),现在,我必须为每个产品点击编辑 220 次。

有没有一种方法可以在我单击按钮后进行查询以更新所有行?

下面我将向您展示我脚本中的一些基本部分:

GET 函数:

<?php

$strSQL = "SELECT * FROM ps_product";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");

while($objResult = mysql_fetch_array($objQuery))
{
?>
<!-- HTML CODE -->
<? } ?>

每个产品的UPDATE函数

if($_POST["hdnCmd"] == "Update")
{
    $strSQL = "UPDATE ps_product_shop SET ";
    $strSQL .="id_product = '".$_POST["txtEditid_product"]."' ";
    $strSQL .=",price = '".$_POST["txtEditprice"]."' ";
    $strSQL .=",active = '".$_POST["txtEditactive"]."' ";
    $strSQL .="WHERE id_product = '".$_POST["hdnEditid_product"]."' ";
    $objQuery = mysql_query($strSQL);
    if(!$objQuery)
    {
        echo "Error Update [".mysql_error()."]";
    }

}

$_POST["hdnEditid_product] 是从表中获取的产品 ID 值。


请帮助我了解如何制作类似的**UPDATE 函数** **它会立即更新所有行 (product_id)?

例如,我必须解决此代码:

if($_POST["UPDATEALLPRODUCTS"] == "Update")
{
    $strSQL = "UPDATE ps_product_shop SET ";
    $strSQL .=",price = '".$_POST["txtEditprice"]."' ";
    $strSQL .="WHERE id_product = '".$_POST["hdnEditid_product"]."' ";
    $objQuery = mysql_query($strSQL);
    if(!$objQuery)
    {
        echo "Error Update [".mysql_error()."]";
    }
}

但我必须在此处添加/更改的内容:

$strSQL .="WHERE id_product = '".$_POST["hdnEditid_product"]."' ";

最佳答案

要将所有行更新为相同的值,请运行此查询

UPDATE ps_product_shop SET price='".$_POST["txtEditprice"]."';

注意:ps_products_shop 中的每条记录都将获得相同的价格值。

关于php - 如何用一个查询更新 SQL 中的所有行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21044749/

相关文章:

php - 排队的 Laravel 通知卡在 AWS SQS 上

php - 为什么这个 MySQL 查询会减慢我的代码

php - 如何有效实现新闻通讯系统以防止重复发送电子邮件?

mysql - 如何在一个查询中合并不同的多个选择?

php - 如何优化缓慢的 MySQL 查询(通过 PHP)

php - 对 fullcalendar.io 使用普通 PHP 路由 (&) 和 symfony 路由 (/)

php - PDO 在 Froxlor 中显示为 "Not Installed"

php - 迁移主机后主页丢失主题

mysql - 从具有内部连接和限制的两个表中进行选择

php - 同时从2个表中取数据