我有一个现有的 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/