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; |
$stmt = db2_prepare($conn, "SELECT P.Name, P.Details, P.Price, P.Size, I.Location, I.Alias FROM sqlproduct P, sqlimages I WHERE P.Pid = ? AND P.Pid = I.Pid AND I.Type = ? FETCH FIRST ROW ONLY"); db2_execute($stmt, array($pid, full')); list($prodName, $prodDetails, $prodPrice, $prodSize, $prodImgThumb, $prodImgAlias) = db2_fetch_array($stmt); |
|
$stmt = db2_prepare($conn, "SELECT DISTINCT(Location) FROM sqlimages WHERE Pid = ? AND Type = ? AND NOT Location = ?"); db2_execute($stmt, array($pid, full', $prodImgThumb)); while(list($prodImg) = db2_fetch_array($stmt)) { ?> ![]() } ?> |
最新相关文章
发表评论