【发布时间】:2013-11-17 19:02:23
【问题描述】:
我目前正在为一个网站创建一个购物篮,但目前只有在我回应我拥有的每件产品以及该产品当前在购物篮中的数量以及其他产品时,我才能让它工作。在数据库中,但它不显示数字。我正在尝试创建一个 foreach 循环,然后为篮子中的每个项目而不是我的所有产品回显结果。以下是我的代码以及它在我的网站上的外观。我尝试创建 foreach 循环的所有努力似乎都导致 foreach 循环导致整个脚本失败。对此问题的任何帮助将不胜感激!
if ($_GET[action]=="add") {
$id=$_GET['radio_id'];
$_SESSION['basket'.$id]++;
echo "You currently have $_SESSION[basket1] Grundig G3 in your basket<br />";
echo "You currently have $_SESSION[basket2] Eton E5 in your basket<br />";
echo "You currently have $_SESSION[basket3] Eton E1 G3 in your basket<br />";
echo "You currently have $_SESSION[basket4] Morphy Richards DRM Radio G3 in your basket<br />";
echo "You currently have $_SESSION[basket5] TechniSat MultyRadio in your basket<br />";
echo "You currently have $_SESSION[basket6] Sony ICF-SW7600GR in your basket<br />";
echo "You currently have $_SESSION[basket7] Sony AN-LP1 in your basket<br />";
}
else {
echo "You have no items in your shopping cart.";
}
网站显示这一点,当我添加一个项目时,它会显示一个数字或增加一个数字,具体取决于我添加到购物篮的项目。
您目前有 2 个 Grundig G3 在您的购物篮中
您目前有 1 个 Eton E5 在您的购物篮中
您的购物篮中目前有 Eton E1 G3
您的购物篮中目前有 Morphy Richards DRM Radio G3
您的购物篮中目前有 TechniSat MultyRadio
您的购物篮中目前有 Sony ICF-SW7600GR
您的购物篮中目前有 Sony AN-LP1
$result = mysqli_query($link, "SELECT * FROM radios WHERE radio_id=".$_GET[radio_id]) or die( mysqli_error($link));
$array = mysqli_fetch_array($result);
if ($_GET[action]=="add") {
$id=$_GET['radio_id'];
$_SESSION['basket'.$id]++;
$manufacturer=$array['manufacturer'];
foreach($_SESSION as $id => $amount){
if(strstr($id,'basket')){
echo "You have $amount $manufacturer in your basket.<br>";
}
}
@vascowhite
【问题讨论】:
-
@h2ooooooo:不,这是不正确的。它will 展开。
-
是的,它确实扩展了。我的问题不在于这段代码本身,而是调整这段代码以创建一个 foreach 循环,而不是仅仅回显每个循环。
-
@AmalMurali 哇哦 - 它不仅会扩展,而且如果您将键用作常量,它仅会扩展?
标签: php if-statement foreach