扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
产品详细信息
用户单击商店列出的任何产品时,应用程序都会创建一个详细产品页面,其中包含该产品的说明、尺寸、价格和可能的附加图像等信息。
图 7. 产品详细信息
DB2 Viper
创建产品详细信息的 XQuery 保存为存储过程。
用于创建产品详细信息的存储过程
用 SQL/PL 编写 getProduct 存储过程,其接受产品 ID 作为参数,并返回记录集的游标。这个存储过程主要执行 XQuery,其在页面一侧生成显示产品详细信息及其图片以及其他缩略图的版面。
CREATE PROCEDURE getProduct(IN id VARCHAR(10)) DYNAMIC RESULT SETS 1 LANGUAGE SQL BEGIN BEGIN DECLARE c_cur CURSOR WITH RETURN FOR SELECT XMLSERIALIZE(XMLQUERY(for $i in $t/product let $thumb := $i/description/images/image[@type="thumbnail"] let $name := $i/description/name/text() let $details := $i/description/details/text() let $price := $i/description/price let $size := $i/description/size return {$name}{ for $j in $i/description/images/image[@type != "thumbnail"][1] return src="data/images/{$thumb}.jpg" width="200"/> }
{ for $j in $i/description/images/image[@type != "thumbnail"] [position() != 1] return onMouseout="document.mainPic.src= data/images/{$i/description/images/image[@type != "thumbnail"][1]}.jpg''"> } PASSING T.DESCRIPTION AS "t" RETURNING SEQUENCE) AS CLOB(32K)) FROM xmlproduct T WHERE Pid = id; OPEN c_cur; END; END |
$stmt = db2_prepare($conn, "CALL getProduct(?)"); db2_execute($stmt, array($pid)); list($product) = db2_fetch_array($stmt); echo $product; |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。