{"id":59514,"date":"2025-04-23T17:58:55","date_gmt":"2025-04-23T09:58:55","guid":{"rendered":"https:\/\/fwq.ai\/blog\/59514\/"},"modified":"2025-04-23T17:58:55","modified_gmt":"2025-04-23T09:58:55","slug":"%e4%b8%baecshop%e7%94%a8%e6%88%b7%e6%8f%90%e4%be%9b%e5%95%86%e5%93%81%e6%89%b9%e5%a4%87%e6%b3%a8%e5%8a%9f%e8%83%bd","status":"publish","type":"post","link":"https:\/\/fwq.ai\/blog\/59514\/","title":{"rendered":"\u4e3aecshop\u7528\u6237\u63d0\u4f9b\u5546\u54c1\u6279\u5907\u6ce8\u529f\u80fd"},"content":{"rendered":"<p> ecshop\u5f00\u53d1\u9700\u6c42\uff1a<\/p>\n<p> 1. \u6bcf\u4e2a\u767b\u5f55\u7684\u7528\u6237\u5728\u8d2d\u7269\u8fc7\u7a0b\u4e2d\u7684\u5546\u54c1\u5217\u8868\u9875\u3001\u5546\u54c1\u8be6\u7ec6\u9875\u3001\u8d2d\u7269\u8f66\u90fd\u53ef\u4ee5\u5bf9\u5546\u54c1\u8fdb\u884c\u6279\u6ce8\uff1b<\/p>\n<p> 2. \u8981\u6c421\u4e2d\u7684\u6279\u6ce8\u4f1a\u663e\u793a\u5728\u8ba2\u5355\u4e2d\u6bcf\u4e2a\u5546\u54c1\u9879\u4e2d\uff1b<\/p>\n<p> 3. \u7528\u6237\u6bcf\u6b21\u767b\u9646\u4e4b\u540e\u6e05\u9664\u4e0a\u6b21\u7684\u6279\u6ce8\u3002<\/p>\n<p> &nbsp;<\/p>\n<p> \u4fee\u6539\u65b9\u6cd5\uff1a<\/p>\n<p> \u30101\u3011\u589e\u52a0\u4e24\u4e2a\u8868\uff1a<br \/>\n<br \/> &#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n<br \/> &#8212; Table structure for `order_comment`<br \/>\n<br \/> &#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n<br \/> DROP TABLE IF EXISTS `order_comment`;<br \/>\n<br \/> CREATE TABLE `order_comment` (<br \/>\n<br \/> &nbsp; `order_id` mediumint(8) NOT NULL,<br \/>\n<br \/> &nbsp; `goods_id` mediumint(8) NOT NULL,<br \/>\n<br \/> &nbsp; `goods_comment` varchar(500) DEFAULT NULL,<br \/>\n<br \/> &nbsp; PRIMARY KEY (`order_id`,`goods_id`)<br \/>\n<br \/> ) ENGINE=InnoDB DEFAULT CHARSET=gbk;<\/p>\n<p> &#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n<br \/> &#8212; Table structure for `goods_comment`<br \/>\n<br \/> &#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n<br \/> DROP TABLE IF EXISTS `goods_comment`;<br \/>\n<br \/> CREATE TABLE `goods_comment` (<br \/>\n<br \/> &nbsp; `goods_id` mediumint(8) NOT NULL,<br \/>\n<br \/> &nbsp; `user_id` mediumint(8) NOT NULL,<br \/>\n<br \/> &nbsp; `goods_comment` varchar(500) DEFAULT NULL,<br \/>\n<br \/> &nbsp; PRIMARY KEY (`goods_id`,`user_id`)<br \/>\n<br \/> ) ENGINE=MyISAM DEFAULT CHARSET=gbk;<\/p>\n<p> \u30102\u3011themes\\default\\library\\goods_list.lbi\u6587\u4ef6\u4e2d\uff1a<br \/>\n<br \/> &lt;a href=&#8221;javascript:;&#8221; id=&#8221;compareLink&#8221; onClick=&#8221;Compare.add({$goods.goods_id},'{$goods.goods_name|escape:&#8221;html&#8221;}&#8217;,'{$goods.type}&#8217;)&#8221; class=&#8221;f6&#8243;&gt;{$lang.compare}&lt;\/a&gt;<br \/>\n<br \/> \u540e\u8fb9\u589e\u52a0\uff1a<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;!&#8211;{if $smarty.session.user_id}&#8211;&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{$lang.my_goods_comment}:&lt;textarea onclick=&#8221;addGoodsComment(this, {$goods.goods_id})&#8221; style=&#8221;width:90%;&#8221;&gt;{$goods.goods_comment}&lt;\/textarea&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;br \/&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;!&#8211;{\/if}&#8211;&gt;<\/p>\n<p> \u30103\u3011themes\\default\\user_transaction.dwt\u6587\u4ef6\u4e2d\uff1a<br \/>\n<br \/> &lt;th width=&#8221;23%&#8221; align=&#8221;center&#8221; bgcolor=&#8221;#ffffff&#8221;&gt;{$lang.goods_name}&lt;\/th&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;th width=&#8221;29%&#8221; align=&#8221;center&#8221; bgcolor=&#8221;#ffffff&#8221;&gt;{$lang.goods_attr}&lt;\/th&gt;<br \/>\n<br \/> \u540e\u9762\u589e\u52a0\uff1a<br \/>\n<br \/> &lt;!&#8211;{if $smarty.session.user_id}&#8211;&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;th bgcolor=&#8221;#ffffff&#8221;&gt;{$lang.my_goods_comment}&lt;\/th&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;!&#8211;{\/if}&#8211;&gt;<\/p>\n<p> \u5728\uff1a<br \/>\n<br \/> &lt;td align=&#8221;left&#8221; bgcolor=&#8221;#ffffff&#8221;&gt;{$goods.goods_attr|nl2br}&lt;\/td&gt;<br \/>\n<br \/> \u540e\u8fb9\u589e\u52a0\uff1a<br \/>\n<br \/> &lt;!&#8211;{if $smarty.session.user_id}&#8211;&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;td align=&#8221;right&#8221; bgcolor=&#8221;#ffffff&#8221;&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {$goods.goods_comment}<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;\/td&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;!&#8211;{\/if}&#8211;&gt;<\/p>\n<p> \u30104\u3011themes\\default\\goods.dwt\u6587\u4ef6\u4e2d\uff1a<br \/>\n<br \/> &lt;li class=&#8221;padd&#8221;&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &lt;a href=&#8221;javascript:addToCart({$goods.goods_id})&#8221;&gt;&lt;img src=&#8221;images\/bnt_cat.gif&#8221; \/&gt;&lt;\/a&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &lt;a href=&#8221;javascript:collect({$goods.goods_id})&#8221;&gt;&lt;img src=&#8221;images\/bnt_colles.gif&#8221; \/&gt;&lt;\/a&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &lt;!&#8211; {if $affiliate.on} &#8211;&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &lt;a href=&#8221;user.php?act=affiliate&amp;goodsid={$goods.goods_id}&#8221;&gt;&lt;img src=&#8217;images\/bnt_recommend.gif&#8217;&gt;&lt;\/a&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &lt;!&#8211; {\/if} &#8211;&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &lt;\/li&gt;<br \/>\n<br \/> \u540e\u8fb9\u589e\u52a0\uff1a<br \/>\n<br \/> &lt;li&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &lt;!&#8211;{if $smarty.session.user_id}&#8211;&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; {$lang.my_goods_comment}:&lt;textarea onclick=&#8221;addGoodsComment(this, {$goods.goods_id})&#8221; style=&#8221;width:90%;&#8221;&gt;{$goods.goods_comment}&lt;\/textarea&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &lt;!&#8211;{\/if}&#8211;&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &lt;\/li&gt;<\/p>\n<p> \u30105\u3011themes\\default\\flow.dwt\u6587\u4ef6\u4e2d\uff1a<br \/>\n<br \/> &lt;th bgcolor=&#8221;#ffffff&#8221;&gt;{$lang.goods_name}&lt;\/th&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &lt;!&#8211; {if $show_goods_attribute eq 1} \u663e\u793a\u5546\u54c1\u5c5e\u6027 &#8211;&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;th bgcolor=&#8221;#ffffff&#8221;&gt;{$lang.goods_attr}&lt;\/th&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;!&#8211; {\/if} &#8211;&gt;<br \/>\n<br \/> \u540e\u8fb9\u589e\u52a0\uff1a<br \/>\n<br \/> &lt;!&#8211;{if $smarty.session.user_id}&#8211;&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;th bgcolor=&#8221;#ffffff&#8221;&gt;{$lang.my_goods_comment}&lt;\/th&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;!&#8211;{\/if}&#8211;&gt;<\/p>\n<p> \u5728\uff1a<br \/>\n<br \/> &lt;!&#8211; {if $show_goods_attribute eq 1} \u663e\u793a\u5546\u54c1\u5c5e\u6027 &#8211;&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;td bgcolor=&#8221;#ffffff&#8221;&gt;{$goods.goods_attr|nl2br}&lt;\/td&gt;<br \/>\n<br \/> &lt;!&#8211;{\/if}&#8211;&gt;<br \/>\n<br \/> \u540e\u8fb9\u589e\u52a0\uff1a<br \/>\n<br \/> &lt;!&#8211;{if $smarty.session.user_id}&#8211;&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;td align=&#8221;right&#8221; bgcolor=&#8221;#ffffff&#8221;&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;textarea onclick=&#8221;addGoodsComment(this, {$goods.goods_id})&#8221; style=&#8221;width:90%;&#8221;&gt;{$goods.goods_comment}&lt;\/textarea&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;\/td&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;!&#8211; {\/if} &#8211;&gt;<\/p>\n<p> \u5728\uff1a<br \/>\n<br \/> &lt;th bgcolor=&#8221;#ffffff&#8221;&gt;{$lang.goods_name}&lt;\/th&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;th bgcolor=&#8221;#ffffff&#8221;&gt;{$lang.goods_attr}&lt;\/th&gt;<br \/>\n<br \/> \u540e\u8fb9\u589e\u52a0\uff1a<br \/>\n<br \/> &lt;!&#8211;{if $smarty.session.user_id}&#8211;&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;th bgcolor=&#8221;#ffffff&#8221;&gt;{$lang.my_goods_comment}&lt;\/th&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;!&#8211;{\/if}&#8211;&gt;<\/p>\n<p> \u5728\uff1a<br \/>\n<br \/> &lt;!&#8211; {if $goods.is_shipping} &#8211;&gt;(&lt;span style=&#8221;color:#FF0000&#8243;&gt;{$lang.free_goods}&lt;\/span&gt;)&lt;!&#8211; {\/if} &#8211;&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;\/td&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;td bgcolor=&#8221;#ffffff&#8221;&gt;{$goods.goods_attr|nl2br}&lt;\/td&gt;<br \/>\n<br \/> \u540e\u8fb9\u589e\u52a0\uff1a<br \/>\n<br \/> &lt;!&#8211;{if $smarty.session.user_id}&#8211;&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;td align=&#8221;right&#8221; bgcolor=&#8221;#ffffff&#8221;&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;textarea onclick=&#8221;addGoodsComment(this, {$goods.goods_id})&#8221; style=&#8221;width:90%;&#8221;&gt;{$goods.goods_comment}&lt;\/textarea&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;\/td&gt;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;!&#8211;{\/if}&#8211;&gt;<\/p>\n<p> \u30106\u3011languages\\zh_cn\\admin\\common.php\u6587\u4ef6\u4e2d\u589e\u52a0\uff1a<br \/>\n<br \/> $_LANG[&#8216;my_goods_comment&#8217;] = &#8216;\u6279\u6ce8&#8217;;<\/p>\n<p> \u30107\u3011languages\\zh_cn\\common.php\u6587\u4ef6\u4e2d\u589e\u52a0\uff1a<br \/>\n<br \/> $_LANG[&#8216;my_goods_comment&#8217;] = &#8216;\u6279\u6ce8&#8217;;<\/p>\n<p> \u30108\u3011js\\common.js\u6587\u4ef6\u4e2d\u589e\u52a0\uff1a<br \/>\n<br \/> \/*<br \/>\n<br \/> &nbsp;* \u5c06\u7528\u6237\u5bf9\u5546\u54c1\u7684\u6279\u6ce8\u5199\u5230\u6570\u636e\u5e93\u4e2d&nbsp;<br \/>\n<br \/> &nbsp;*\/<br \/>\n<br \/> function addGoodsComment(obj, goodsId)<br \/>\n<br \/> {<br \/>\n<br \/> &nbsp; &nbsp; \/* \u4fdd\u5b58\u539f\u59cb\u7684\u5185\u5bb9 *\/<br \/>\n<br \/> &nbsp; &nbsp; var orgComment = obj.value;<\/p>\n<p> &nbsp; &nbsp; \/* \u7f16\u8f91\u533a\u5931\u53bb\u7126\u70b9\u7684\u5904\u7406\u51fd\u6570 *\/<br \/>\n<br \/> &nbsp; &nbsp; obj.onblur = function(e)<br \/>\n<br \/> &nbsp; &nbsp; {<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; var newComment = obj.value;<br \/>\n<br \/> &nbsp;<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; if (newComment != orgComment)<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; {<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; res = Ajax.call(&#8220;.\/goods.php?is_ajax=1&#8221;, &#8220;act=edit_goods_comment&amp;val=&#8221; + encodeURIComponent(Utils.trim(newComment)).toJSONString() + &#8220;&amp;id=&#8221; +goodsId, null, &#8220;POST&#8221;, &#8220;JSON&#8221;, false);<\/p>\n<p> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (res.message)<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; alert(res.message);<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp;<br \/>\n<br \/> &nbsp; &nbsp; }<br \/>\n<br \/> }<\/p>\n<p> \u30109\u3011includes\\lib_order.php\u6587\u4ef6\u4e2d\uff1a<br \/>\n<br \/> $sql = &#8220;SELECT rec_id, goods_id, goods_name, goods_sn, market_price, goods_number, &#8221; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8220;goods_price, goods_attr, is_real, parent_id, is_gift, &#8221; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8220;goods_price * goods_number AS subtotal, extension_code &#8221; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8220;FROM &#8221; . $GLOBALS[&#8216;ecs&#8217;]-&gt;table(&#8216;order_goods&#8217;) .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8221; WHERE order_id = &#8216;$order_id'&#8221;;<br \/>\n<br \/> \u6539\u4e3a\uff1a<br \/>\n<br \/> $sql = &#8220;SELECT rec_id, order_goods.goods_id, goods_name, goods_sn, market_price, goods_number, &#8221; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8220;goods_price, goods_attr, is_real, parent_id, is_gift, &#8221; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8220;goods_price * goods_number AS subtotal, extension_code, oc.goods_comment &#8221; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8220;FROM &#8221; . $GLOBALS[&#8216;ecs&#8217;]-&gt;table(&#8216;order_goods&#8217;) . &#8221; &#8221; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8220;LEFT JOIN order_comment as oc ON oc.goods_id = order_goods.goods_id AND oc.order_id = &#8216;&#8221; . $order_id . &#8220;&#8216; &#8220;.<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8220;WHERE order_goods.order_id = &#8216;$order_id'&#8221;;<\/p>\n<p> \u5c06\uff1a<br \/>\n<br \/> $sql = &#8220;SELECT rec_id, user_id, goods_id, goods_name, goods_sn, goods_number, &#8221; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8220;market_price, goods_price, goods_attr, is_real, extension_code, parent_id, is_gift, is_shipping, &#8221; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8220;goods_price * goods_number AS subtotal &#8221; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8220;FROM &#8221; . $GLOBALS[&#8216;ecs&#8217;]-&gt;table(&#8216;cart&#8217;) .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8221; WHERE session_id = &#8216;&#8221; . SESS_ID . &#8220;&#8216; &#8221; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8220;AND rec_type = &#8216;$type'&#8221;;<br \/>\n<br \/> \u6539\u4e3a\uff1a<br \/>\n<br \/> $sql = &#8220;SELECT rec_id, cart.user_id, cart.goods_id, goods_name, goods_sn, goods_number, &#8221; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8220;market_price, goods_price, goods_attr, is_real, extension_code, parent_id, is_gift, is_shipping, &#8221; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8220;goods_price * goods_number AS subtotal, gc.goods_comment &#8221; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8220;FROM &#8221; . $GLOBALS[&#8216;ecs&#8217;]-&gt;table(&#8216;cart&#8217;) . &#8221; &#8221; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8220;LEFT JOIN goods_comment as gc ON gc.goods_id = cart.goods_id AND gc.user_id = cart.user_id &#8220;.<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8220;WHERE session_id = &#8216;&#8221; . SESS_ID . &#8220;&#8216; &#8221; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8220;AND rec_type = &#8216;$type'&#8221;;<\/p>\n<p> \u5c06\uff1a<br \/>\n<br \/> \/* \u5faa\u73af\u3001\u7edf\u8ba1 *\/<br \/>\n<br \/> &nbsp; &nbsp; $sql = &#8220;SELECT *, IF(parent_id, parent_id, goods_id) AS pid &#8221; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8221; FROM &#8221; . $GLOBALS[&#8216;ecs&#8217;]-&gt;table(&#8216;cart&#8217;) . &#8221; &#8221; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8221; WHERE session_id = &#8216;&#8221; . SESS_ID . &#8220;&#8216; AND rec_type = &#8216;&#8221; . CART_GENERAL_GOODS . &#8220;&#8216;&#8221; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8221; ORDER BY pid, parent_id&#8221;;<br \/>\n<br \/> \u6539\u4e3a\uff1a<br \/>\n<br \/> \/* \u5faa\u73af\u3001\u7edf\u8ba1 *\/<br \/>\n<br \/> &nbsp; &nbsp; $sql = &#8220;SELECT *, IF(parent_id, parent_id, cart.goods_id) AS pid, gc.goods_comment &#8221; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8221; FROM &#8221; . $GLOBALS[&#8216;ecs&#8217;]-&gt;table(&#8216;cart&#8217;) . &#8221; &#8221; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8220;LEFT JOIN goods_comment as gc ON gc.goods_id = cart.goods_id AND gc.user_id = cart.user_id &#8220;.<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8220;WHERE session_id = &#8216;&#8221; . SESS_ID . &#8220;&#8216; AND rec_type = &#8216;&#8221; . CART_GENERAL_GOODS . &#8220;&#8216;&#8221; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8220;ORDER BY pid, parent_id&#8221;;<\/p>\n<p> \u301010\u3011includes\\lib_goods.php\u6587\u4ef6\u4e2d\uff1a<br \/>\n<br \/> $sql = &#8216;SELECT g.*, c.measure_unit, b.brand_id, b.brand_name AS goods_brand, m.type_money AS bonus_money, &#8216; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8216;IFNULL(AVG(r.comment_rank), 0) AS comment_rank, &#8216; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8220;IFNULL(mp.user_price, g.shop_price * &#8216;$_SESSION[discount]&#8217;) AS rank_price &#8221; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8216;FROM &#8216; . $GLOBALS[&#8216;ecs&#8217;]-&gt;table(&#8216;goods&#8217;) . &#8216; AS g &#8216; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8216;LEFT JOIN &#8216; . $GLOBALS[&#8216;ecs&#8217;]-&gt;table(&#8216;category&#8217;) . &#8216; AS c ON g.cat_id = c.cat_id &#8216; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8216;LEFT JOIN &#8216; . $GLOBALS[&#8216;ecs&#8217;]-&gt;table(&#8216;brand&#8217;) . &#8216; AS b ON g.brand_id = b.brand_id &#8216; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8216;LEFT JOIN &#8216; . $GLOBALS[&#8216;ecs&#8217;]-&gt;table(&#8216;comment&#8217;) . &#8216; AS r &#8216;.\/\/<br \/>\n<span style=\"color:#ffffff\">https:\/\/www.ldhost.cn\/help\/<\/span><br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8216;ON r.id_value = g.goods_id AND comment_type = 0 AND r.parent_id = 0 AND r.status = 1 &#8216; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8216;LEFT JOIN &#8216; . $GLOBALS[&#8216;ecs&#8217;]-&gt;table(&#8216;bonus_type&#8217;) . &#8216; AS m &#8216; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8220;ON g.bonus_type_id = m.type_id AND m.send_start_date &lt;= &#8216;$time&#8217; AND m.send_end_date &gt;= &#8216;$time'&#8221; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8221; LEFT JOIN &#8221; . $GLOBALS[&#8216;ecs&#8217;]-&gt;table(&#8216;member_price&#8217;) . &#8221; AS mp &#8220;.<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8220;ON mp.goods_id = g.goods_id AND mp.user_rank = &#8216;$_SESSION[user_rank]&#8217; &#8220;.<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8220;WHERE g.goods_id = &#8216;$goods_id&#8217; AND g.is_delete = 0 &#8221; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8220;GROUP BY g.goods_id&#8221;;<br \/>\n<br \/> \u6539\u4e3a\uff1a<br \/>\n<br \/> $sql = &#8216;SELECT g.*, c.measure_unit, b.brand_id, b.brand_name AS goods_brand, m.type_money AS bonus_money, &#8216; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8216;IFNULL(AVG(r.comment_rank), 0) AS comment_rank, &#8216; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8220;IFNULL(mp.user_price, g.shop_price * &#8216;$_SESSION[discount]&#8217;) AS rank_price, gc.goods_comment &#8221; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8216;FROM &#8216; . $GLOBALS[&#8216;ecs&#8217;]-&gt;table(&#8216;goods&#8217;) . &#8216; AS g &#8216; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8216;LEFT JOIN &#8216; . $GLOBALS[&#8216;ecs&#8217;]-&gt;table(&#8216;category&#8217;) . &#8216; AS c ON g.cat_id = c.cat_id &#8216; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8216;LEFT JOIN &#8216; . $GLOBALS[&#8216;ecs&#8217;]-&gt;table(&#8216;brand&#8217;) . &#8216; AS b ON g.brand_id = b.brand_id &#8216; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8216;LEFT JOIN &#8216; . $GLOBALS[&#8216;ecs&#8217;]-&gt;table(&#8216;comment&#8217;) . &#8216; AS r &#8216;.<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8216;ON r.id_value = g.goods_id AND comment_type = 0 AND r.parent_id = 0 AND r.status = 1 &#8216; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8216;LEFT JOIN &#8216; . $GLOBALS[&#8216;ecs&#8217;]-&gt;table(&#8216;bonus_type&#8217;) . &#8216; AS m &#8216; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8220;ON g.bonus_type_id = m.type_id AND m.send_start_date &lt;= &#8216;$time&#8217; AND m.send_end_date &gt;= &#8216;$time'&#8221; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8221; LEFT JOIN &#8221; . $GLOBALS[&#8216;ecs&#8217;]-&gt;table(&#8216;member_price&#8217;) . &#8221; AS mp &#8220;.<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8220;ON mp.goods_id = g.goods_id AND mp.user_rank = &#8216;$_SESSION[user_rank]&#8217; &#8220;.<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8220;LEFT JOIN goods_comment as gc ON gc.goods_id = g.goods_id AND gc.user_id = &#8216;&#8221; . $_SESSION[user_id] . &#8220;&#8216; &#8220;.<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8220;WHERE g.goods_id = &#8216;$goods_id&#8217; AND g.is_delete = 0 &#8221; .<br \/>\n<br \/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8220;GROUP BY g.goods_id&#8221;;<br \/>\n <\/p>\n","protected":false},"excerpt":{"rendered":"<p>ecshop\u5f00\u53d1\u9700\u6c42\uff1a 1. \u6bcf\u4e2a\u767b\u5f55\u7684\u7528\u6237\u5728\u8d2d\u7269\u8fc7\u7a0b\u4e2d\u7684\u5546\u54c1\u5217\u8868\u9875\u3001\u5546\u54c1\u8be6\u7ec6\u9875\u3001\u8d2d\u7269\u8f66\u90fd\u53ef\u4ee5\u5bf9\u5546\u54c1\u8fdb\u884c\u6279\u6ce8\uff1b 2. \u8981\u6c421\u4e2d\u7684\u6279\u6ce8\u4f1a\u663e\u793a\u5728\u8ba2\u5355\u4e2d\u6bcf\u4e2a\u5546\u54c1\u9879\u4e2d\uff1b 3. \u7528\u6237\u6bcf\u6b21\u767b\u9646\u4e4b\u540e\u6e05\u9664\u4e0a\u6b21\u7684\u6279\u6ce8\u3002 &nbsp; \u4fee\u6539\u65b9\u6cd5\uff1a \u30101\u3011\u589e\u52a0\u4e24\u4e2a\u8868\uff1a &#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#8212; Table structure for `order_comment` &#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- DROP TABLE IF EXISTS `order_comment`; CREATE TABLE `order_comment` ( &nbsp; `order_id` mediumint(8) NOT NULL, &nbsp; `goods_id` mediumint(8) NOT NULL, &nbsp; `goods_comment` varchar(500) DEFAULT NULL, &nbsp; PRIMARY KEY (`order_id`,`goods_id`) ) ENGINE=InnoDB DEFAULT CHARSET=gbk; &#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#8212; Table [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16],"tags":[],"class_list":["post-59514","post","type-post","status-publish","format-standard","hentry","category-16"],"_links":{"self":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/59514","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/comments?post=59514"}],"version-history":[{"count":0,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/59514\/revisions"}],"wp:attachment":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/media?parent=59514"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/categories?post=59514"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/tags?post=59514"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}