我在主页(index.php)上有两个类别命名为(产品和水果)。然后我创建了一个名为(cart.php)的新页面。在购物车页面,我想包括我的项目,无论是从产品类别或水果类别。我编写了以下代码来在购物车页面中添加商品
<?php
$total = 0;
foreach ($cart as $key => $value)
if(condition){
$cartsql = "SELECT * FROM products WHERE id=$key";
}
else(condition){
$cartsql = "SELECT * FROM fruits WHERE id=$key";
}
$cartres = mysqli_query($connection, $cartsql);
$cartr = mysqli_fetch_assoc($cartres);
?>
在上面的代码中,我有困惑,我不能理解如何在我的购物车中添加项目的if条件,无论它们属于产品类别或水果category.so任何人请帮助我写我的特定类别的if条件从主页选择并添加到购物车页面.or有任何其他更好的解决方案来解决我的问题,请帮助
发布于 2018-05-31 07:22:46
一种可能性是预先确定产品和水果的不同关键范围。换句话说,目录中的产品范围从10000到19999。并将水果分配到20000到29999之间。然后,根据允许的范围检查您的条件。
另一种可能是从购物车返回一个表示“水果”或“产品”的$product_code
变量,然后:
"SELECT * FROM $product_code WHERE id=$key"
这可能会减少在这里使用条件的需要。
发布于 2018-05-31 11:38:54
也许我看错了这个问题,但你并没有说出问题出在哪里。在我看来,你在编码检测水果或产品是否符合你的标准时遇到了问题,然后执行一个过程,如果两者都不匹配-做一些其他的事情。或者,它可以是foreach的语法
如果我解释错了,我深表歉意,但我不清楚问题是在选择、检查标准还是执行所需的操作中。但你确实会说‘我有困惑,我不知道如何写if条件’
由于我不确定问题到底是什么,我提供了两种可能的解决方案。
解决方案1如果不为您编写完整的代码,这将是一种实际检查您的条件是否匹配的解决方案。手动设置$fruits或$products为1或0,并运行它进行测试--要么是1回显“有效”,要么都是0回显“无效”,然后您可以为实际的选择和操作添加自己的代码。这并不意味着是完整的代码,但只是帮助你解决我所理解的最初的问题。
在任何情况下,通过使用这样的代码并替换您自己的代码,您都可以看到哪里出了问题,获取值、比较它们或期望的最终操作。
希望能有所帮助
<?php
// Code here to check if condition for products and fruits is valid (set manually in this code to 1 for valid or 0 for not valid)
$products='0';
$fruits='0';
//Check to see if either fruits or products are valid
if($products == 1 || $fruits == 1)
{
// perform operation if either or both are valid
echo 'valid';
} else {
//perform operation if neither are valid
echo 'not valid';
}
?>
解决方案2也许foreach语法是错误的,您似乎没有包含{ ...}来定义语句的范围。将它们包含在if中,而不是下面的foreach代码示例中-
<?php
$arr = array(1, 2, 3, 4);
foreach ($arr as $value) {
echo $value. '<br>';
}
unset($value);
?>
https://stackoverflow.com/questions/50614444
复制相似问题