【发布时间】:2014-01-10 21:16:42
【问题描述】:
我有一个现有的 Prestashop 数据库,我对它做了一些小的修改。我制作了一个单独的 PHP 页面,它从包含产品的表中获取数据(仅我需要的数据),并一个接一个地向我显示该表中的所有产品。我还有一个更新产品的功能,我在上面按 EDIT。
因此,简而言之,我可以每次点击更新单个产品。但是现在我有大约 220 种产品,为了更新每个产品的价值(价格),现在我必须为每个产品单击 EDIT 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 -->
<? } ?>
每个产品的更新功能
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"]."' ";
【问题讨论】:
-
每款产品都有不同的价格价值!
-
你为什么不调用任何 jQuery/ajax 脚本,通过调用脚本来更新它在失去 pricebox 的焦点时的相应记录。而不是在填充 recoed 后单击更新。它会让你更容易
-
你想更新所有行的价格?
-
是的...我很乐意