我遇到嵌套循环的问题。我有两个表product和product_option 每个产品都有一个选项,价格 示例戒指(25美元),选项红色($。50)和黄色($。75)。 所以表格就像这个产品(id,价格,描述)和product_option(product_id,optionname,optionprice) 当我从php获取数据时,输出应该看起来像这样 戒指(25美元)总价格25.75 红(0.50),黄色(0.25)
但是我的输出显示的是这样的
环($ 25)
红(0.50),红色(0.50)
以下是代码
session_start();
require_once './classes/cartclass.php';
$val = new carts();
While($cartContent = mysql_fetch_assoc($cartContents))
{
if($cartContent['ctsid']==session_id())
{
$cartid=$cartContent['ctid'];
$subTotal += $cartContent['ctprice'] * $cartContent['ctqty'];
echo $cartContent['iname'];
echo $cartContent['mprice'];
echo $cartContent['mdesc'];
$count=mysql_num_rows($val->getCartopt($cartid));
if($count>0){
$CartOpt = mysql_fetch_assoc($val->getCartopt($cartid));
foreach($CartOpt as $Cartopts){
echo $CartOpts."".$CartOpt['ctopname'];
$i++;
if($i==$count)
break;
}
}
}
}
答案 0 :(得分:0)
我修复了代码的最后一部分,根本没有任何意义。 试试这个:
session_start();
require_once './classes/cartclass.php';
$val = new carts();
While($cartContent = mysql_fetch_assoc($cartContents))
{
if($cartContent['ctsid']==session_id())
{
$cartid=$cartContent['ctid'];
$subTotal += $cartContent['ctprice'] * $cartContent['ctqty'];
echo $cartContent['iname'];
echo $cartContent['mprice'];
echo $cartContent['mdesc'];
if(mysql_num_rows($val->getCartopt($cartid)) > 0)
{
while ($Cartopts = mysql_fetch_assoc($val->getCartopt($cartid)))
{
echo $CartOpts['ctopname'];
}
}
}
}