function getCart($cart, $taxrate) { global $conn; $result = ""; $xquery = for $dummy in (1) |
let $items := for $i in $cart/items/item let $product := db2-fn:xmlcolumn("XMLPRODUCT.DESCRIPTION") /product[@pid = $i/@pid]/description let $name := $product/name/text() let $price := $product/price/text() let $itemPrice := if($price = 0 or empty($price)) then ("$0.00") else (concat("$", $price)) return |
{$name} | {xs:integer($i/@quantity)} Remove | {$itemPrice} |
{$items} | ||
| Subtotal |
Total all ${ sum( $items/noframes/text() ) } | ||
| Tax ({$tax * 100}%) |
${ xs:decimal(sum($items/noframes/text())) * $tax } | ||
| Grand Total< /strong> | ${ xs:decimal(sum($items/noframes/text())) * (1 + $tax) } < /strong> |
$stmt = db2_prepare($conn, "VALUES( XMLSERIALIZE( XMLQUERY($xquery' PASSING BY REF CAST(? AS XML) AS \"cart\" , CAST(? AS DECIMAL (10,8)) AS \"tax\" RETURNING SEQUENCE) AS CLOB(32K)))"); |
if($stmt) { if(!db2_execute($stmt, array($cart, $taxrate))) { return db2_stmt_errormsg($stmt); } list($result) = db2_fetch_array($stmt); if(!$result) return db2_stmt_errormsg($stmt); } else { $result = db2_stmt_errormsg(); }return $result; } |
$server = new SoapServer(null, array(uri' = > http://ibm.com/db2/xml/php')); $server->addFunction(getCart'); $server->handle(); ?> |
$cartXML = " foreach($cart as $cpid => $quantity) { $cartXML .= " } $cartXML .= " |
最新相关文章
发表评论