gpt4 book ai didi

php - 自动更新数据库所需的代码 - 需要修复

转载 作者:行者123 更新时间:2023-11-30 01:03:51 27 4
gpt4 key购买 nike

我确实需要一些帮助。在我最感激的其他成员的帮助下,我成功地使用 PHP 代码在我的产品页面上显示了我的库存商品数量。

我对 PHP 很陌生,几天来一直在尝试解决这个问题。

我有一个数据库,其中设置了一个名为“items”的表,如果可能的话,我希望自动更新该表。我知道我可以手动执行此操作,但我想防止过度销售我没有的库存。

例如,当客户下订单时,我希望发生这种情况:

1) 获取“库存”下的库存商品数量,并将数量减 1。2) 用新的库存数量替换我的产品页面上显示的旧数量。

现在,我使用 Mals-e 作为我的购物车,并通过远程调用将所有订单发送到数据库。这工作正常,因此信息进入数据库没有问题。

这是我用来显示数量的代码:

<?php
include("config.php");
mysql_connect($DBhost,$DBuser,$DBpass) or die("Unable to connect to database $DBName");

mysql_select_db($DBName) or die("Unable to select database $DBName");

// Get a specific result from the "items" table

$result = mysql_query("SELECT * FROM items
WHERE Product='Baby Girls Sock Cupcake'");

while($row = mysql_fetch_array($result))
{
echo "Available Stock: ";
echo $row['inventory'] . " " . $row['Inventory'];
}

mysql_close();
?>

这是我的表单代码:

<?php
echo "<form action=\"http://ww6.aitsafe.com/cf/add.cfm\" method=\"post\">\n";
echo "<input type=\"hidden\" name=\"userid\" value=\"12345678\">\n";
echo "<input type=\"hidden\" name=\"id\" value=\"6\">\n";
echo "<input type=\"hidden\" name=\"scode\" value=\"ABCD123\">\n";
echo "<input type=\"hidden\" name=\"nocart\">\n";
echo "<input type=\"hidden\" name=\"return\" value=\"http://www.mysite.co.uk\">\n";
echo "<b>Qty:</b> <input type=\"text\" name=\"qty\" size=\"1\">\n";
echo "<input type=\"hidden\" name=\"product\" value=\"Socks\">\n";
echo "<input type=\"hidden\" name=\"price\" value=\"1.85\">\n";
echo "<input name=\"submit\" value=\"Add to Cart\" type=\"submit\">\n";
echo "</form>";
?>

这些是我认为我可能需要的其他代码,但我不知道如何处理它们,或者它们是否真的是我需要的:

<?php
$ud_id = $_POST['ud_id'];
$ud_scode = $_POST['ud_scode'];
$ud_product = $_POST['ud_product'];
$ud_price = $_POST['ud_price'];
$ud_inventory = $_POST['ud_inventory'];


// query update

$sql = "UPDATE items SET `items` (`ID`, `$ud_Scode`, `$ud_Product`, `$ud_Price`, `$ud_Inventory` WHERE inventory=`$ud_Inventory`)

VALUES (\'6\', \'ABC123\', \'Socks\', \'1.85\', \'2\');";

?>

我注意到这行代码:

echo "<form action=\"http://ww6.aitsafe.com/cf/add.cfm\" method=\"post\">\n";

其他人有一个 php 页面的链接:

echo "<form action=\"update.php\" method=\"post\">\n";

链接必须是 php 页面吗?

我也有这个:

<?php
include("config.php");
mysql_connect($DBhost,$DBuser,$DBpass) or die("Unable to connect to database $DBName");
mysql_select_db($DBName) or die("Unable to select database $DBName");

// Get a specific result from the "items" table

$result = mysql_query("SELECT * FROM items
WHERE inventory='$inventory'") or die(mysql_error());

while($row = mysql_fetch_array($result))

// check stock

if ($row !== false)
{
echo 'out of stock';
}

else if ($row['count'] == 0)
{
echo 'out of stock.';
}

// if there is stock decrease quantity

$sql = "UPDATE items SET inventory = (inventory -1) WHERE id = '6'";


$result = mysql_query;

}

mysql_close();
?>

我知道这是不对的,而且我完全错了。有人可以用我需要的代码示例为我指出正确的方向吗,因为我认为我需要的不仅仅是这个才能让它工作。

我的htm代码和php代码位于不同的页面上,我在htm页面中回显可用数量。

非常感谢。

这是在通过 mals-e 远程调用下订单时用于更新数据库的代码:

    <?PHP
include("sbconf/config.php");
mysql_connect($DBhost,$DBuser,$DBpass) or die("Unable to connect to database $DBName");

mysql_select_db($DBName) or die("Unable to select database $DBName");

$order_date=time("m j y h:i");

// create varibles

$id = $_POST['id'];
$username = $_POST['username'];
$ip = $_POST['ip'];
$method = $_POST['method'];
$cart = $_POST['cart'];
$discount = $_POST['discount'];
$subtotal = $_POST['subtotal'];
$shipping = $_POST['shipping'];
$tax = $_POST['tax'];
$total = $_POST['total'];
$shipping_zone = $_POST['shipping_zone'];
$inv_name = $_POST['inv_name'];
$inv_company = $_POST['inv_company'];
$inv_addr1 = $_POST['inv_addr1'];
$inv_addr2 = $_POST['inv_addr2'];
$inv_state = $_POST['inv_state'];
$inv_zip = $_POST['inv_zip'];
$inv_country = $_POST['inv_country'];
$del_name = $_POST['del_name'];
$del_addr1 = $_POST['del_addr1'];
$del_addr2 = $_POST['del_addr2'];
$del_state = $_POST['del_state'];
$del_zip = $_POST['del_zip'];
$del_country = $_POST['del_country'];
$tel = $_POST['tel'];
$fax = $_POST['fax'];
$email = $_POST['email'];
$message = $_POST['message'];
$sd = $_POST['sd'];

// query insert

mysql_query("INSERT INTO orders (id,username,ip,date,method,cart,discount,subtotal,shipping,tax,total,shipping_zone,inv_name,inv_company,inv_addr1,inv_addr2,inv_state,inv_zip,inv_country,del_name,del_addr1,del_addr2,del_state,del_zip,del_country,tel,fax,email,message,sd)

VALUES
('$id','$username','$ip','$order_date','$method','$cart','$discount','$subtotal','$shipping','$tax','$total','$shipping_zone','$inv_name','$inv_company','$inv_addr1','$inv_addr2','$inv_state','$inv_zip','$inv_country','$del_name','$del_addr1','$del_addr2','$del_state','$del_zip','$del_country','$tel','$fax','$email','$message','$sd')");

?>

链接到 mals-e 我使用了 php_mals.zip 文件:

https://www.mals-e.com/tpv.php?tp=26

最佳答案

我不明白你到底想要什么。这是您给我们的最后一段代码的更正版本(我删除了您的评论并添加了我的评论):

<?php
include("config.php");
mysql_connect($DBhost,$DBuser,$DBpass) or die("Unable to connect to database $DBName");
mysql_select_db($DBName) or die("Unable to select database $DBName");


$result = mysql_query("SELECT * FROM items
WHERE inventory='$inventory'") or die(mysql_error());

while($row = mysql_fetch_array($result))


if ($row !== false)
{
echo 'out of stock';
}

else if ($row['count'] == 0)
{
echo 'out of stock.';
}

// only execute this request if there is stock
else
{
$sql = "UPDATE items SET inventory = (inventory -1) WHERE id = '6'";
}

//what is this ?
//$result = mysql_query;

}
顺便说一句?不要使用 mysql_ 函数,它们现在已被弃用。看看 mysqli ( http://fr.php.net/mysqli ) 或 pdo ( http://php.net/manual/fr/ref.pdo-mysql.php )。

并回答你的问题

<小时/>

我注意到这行代码:

echo "<form action=\"http://ww6.aitsafe.com/cf/add.cfm\" method=\"post\">\n";

其他人有一个 php 页面的链接:

echo "<form action=\"update.php\" method=\"post\">\n";

链接必须是 php 页面吗?

<小时/>

并非如此,此页面可以是任何内容。问题是,如果你想用 php 处理表单输入,你必须调用 php 解释的页面。默认情况下,apache 识别具有 php 扩展名的 php 文件(*.php、*.php5 ...),但您可以将其配置为能够处理您想要的所有扩展名(看看 https://stackoverflow.com/a/12021997/2806497 )

关于php - 自动更新数据库所需的代码 - 需要修复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19856259/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com