-2

テンプレート ファイルに php を追加できないショッピング カート スクリプトを使用しています。使用される方法は、クラス ファイル内で作成$GLOBALSし、それらを tpl ファイルから呼び出すことです。私がする必要があるのは次のとおりです。

$GLOBALS['DiscountedPrice']後続のコードのチャンクと等しい必要があります。いくつかの構文オプションを試してまとめてみましたが、コードのチャンク内で同じ構文が使用されているため、機能しません。

$GLOBALS['DiscountedPrice'] =  $query = mysql_query("
             SELECT *
             FROM isc_customer_group_discounts
             WHERE `catorprodid` = '%%GLOBAL_ProductId%%'
             AND `customergroupid` = 1
             AND `discounttype` = 'PRODUCT'
             ");
$discounted_price = '';
while($proddisc = mysql_fetch_array($query)) {
    $discperc = $proddisc['4'];
    $discmeth = $proddisc['6'];
    if($discmeth = 'percent') {
        $discperc = $proddisc['4']/100;
        $discounted_price = $row['prodprice'] * $discperc;
        $GLOBALS['DiscountedPrice'] = $discounted_price;
    }elseif ($discmeth = 'price') {
        $discounted_price = $row['prodprice'] - $discperc;
        $GLOBALS['DiscountedPrice'] = $discounted_price;
    }elseif ($discmeth = 'fixed') {
        $discounted_price = $discperc;
        $GLOBALS['DiscountedPrice'] = $discounted_price;
    }};
4

1 に答える 1

1
$GLOBALS['DiscountedPrice'] .= $discounted_price;

ループが回るにつれて、ドットを使用して文字列を連結します。(. と = の間にスペースを入れないでください)

編集。

おそらく私はあなたの質問を完全には理解していませんが、文字列を継続的に結合したい場合は、これがあなたがすることです.

$discounted_price = ''; // you start with an empty string
while($proddisc = mysql_fetch_array($query)) {
$discperc = $proddisc['4'];
$discmeth = $proddisc['6'];
if($discmeth = 'percent') {
    $discperc = $proddisc['4']/100;
    $discounted_price = $row['prodprice'] * $discperc;
// and now you concat (join) it to the new value
    $GLOBALS['DiscountedPrice'] .= $discounted_price;
}elseif ($discmeth = 'price') {
    $discounted_price = $row['prodprice'] - $discperc;
    $GLOBALS['DiscountedPrice'] .= $discounted_price;
}elseif ($discmeth = 'fixed') {
    $discounted_price = $discperc;
    $GLOBALS['DiscountedPrice'] .= $discounted_price;
}};
于 2012-07-10T11:09:06.070 に答える