Php嵌套循环显示重复值

时间:2010-12-22 19:27:22

标签: php html

我遇到嵌套循环的问题。我有两个表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;

                  }

                }
        }
    }

1 个答案:

答案 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'];
            }
        }
    }
}