1:如何统计ecshop商品在订单中出现的次数 回答:$count = $db -> getOne("select sum(goods_number) from ".$ecs->table('order_goods')." where goods_id = '$goods[goods_id]'"); 2:ecshop详细页面如何通过onclick点击事件来控制购买,特别用在批发,批发存在一个最小购买量控制. 【知识点详解】 1. 统计商品在订单中出现的次数 在ECShop中,若要统计某个商品在所有订单中的出现次数,可以使用数据库查询。以下是一个示例代码: ```php $count = $db->getOne("SELECT SUM(goods_number) FROM " . $ecs->table('order_goods') . " WHERE goods_id = '" . $goods['goods_id'] . "'"); ``` 此代码会从`order_goods`表中选取与给定`goods_id`对应的商品数量总和。 2. 通过onclick事件控制购买 在ECShop商品详细页面,可以通过JavaScript的onclick事件来实现购买控制,特别是在处理批发购买时,需要设置最小购买量。以下是一段示例代码: ```html <script> function adgtz() { var number = document.getElementById("ordernumber").value; var min_number = {$goods.min_number}; var goods_num = 1000; if (number > goods_num - min_number) { alert("最多能买" + goods_number + "件"); } number = parseInt(number) + min_number; document.getElementById("ordernumber").value = number; } function adgtzmm() { var number = document.getElementById("ordernumber").value; var min_number = {$goods.min_number}; if (number > min_number) { number = parseInt(number) - min_number; } document.getElementById("ordernumber").value = number; } </script> ``` 这段代码定义了两个函数,分别用于增加和减少商品数量,同时检查是否超过最大购买量。 3. 验证手机号码 使用正则表达式可以轻松地在JavaScript中验证手机号码。以下是一个简单的例子: ```javascript var reg = /^[1]([3][0-9]{1}|50|53|59|58|56|86|80|89|87|88|85|86|55|51|52|57)[0-9]{8}$/ ``` 这个正则表达式将匹配中国大陆的手机号码。 4. 获取每月的第一天时间 在ECShop中,可以使用`local_mktime()`函数获取指定月份的第一天的时间戳: ```php local_mktime(0, 0, 0, date("m"), 0, date("Y")); ``` 5. 直接关闭窗口 如果你希望在ECShop中关闭当前窗口而不显示任何提示,可以使用以下HTML链接: ```html <a href="javascript:window.opener=null;window.close();"> ``` 6. 统计已审核的评论数量 要获取某个商品下被审核过的评论数量,可以执行如下SQL查询: ```php $count = $db->getOne("SELECT COUNT(*) AS cc FROM " . $ecs->table('comment') . " WHERE id_value = '" . $goods_id . "' AND comment_type = '0' AND status = '1' AND parent_id = '0'"); ``` 7. JavaScript时间格式转换 在JavaScript中,可以使用Date对象进行时间格式的转换。例如: ```javascript var date1 = new Date(); var b = Date.UTC(date1.getYear(), date1.getMonth() + 1, date1.getDate(), 0, 0, 0); var time1 = frm.elements['best_time'].value; var y = time1.substring(0, 4); var m = time1.substring(5, 7); var d = time1.substring(8, 10); var b2 = Date.UTC(y, m, d, 0, 0, 0); ``` 8. 解析Flash中的XML数据 在ECShop中,可以使用PHP的`file_get_contents()`函数读取XML文件,然后使用正则表达式或DOM解析器解析XML数据。例如,解析包含`item_url`的XML数据: ```php $str = @file_get_contents("data/flash_data.xml"); if ($str) { preg_match_all("/item_url=\"(.*?)\"/", $str, $url); // 或者使用DOM解析器 $doc = new DOMDocument(); $doc->loadXML($str); $urls = array(); foreach ($doc->getElementsByTagName('item') as $node) { $urls[] = $node->getAttribute('item_url'); } } ``` 以上是ECShop二次开发中涉及的一些常见技巧,包括数据库操作、前端交互、日期处理以及数据解析等方面。在进行ECShop的定制开发时,熟练掌握这些技巧将极大地提高开发效率。
剩余16页未读,继续阅读
- sunny51562011-12-0350个小技巧 只有22个 坑爹啊 你呀 骗积分
- qq7519420282012-09-10很不错,我现在正在使用着呢,呵呵!
- 粉丝: 4
- 资源: 11
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 西电微机原理实验四:微机原理实验中8255可编程并行接口的应用实践
- 西电微机原理课程实验指南-理论与实践相结合提升技术素养
- 基于go+gin+vue+element admin 后台管理系统,支持用户管理,认证,内容管理等详细文档+优秀项目+全部资料.zip
- 基于go-kratos +Ant Design Pro的前后端分离微服务管理系统后端模块详细文档+优秀项目+全部资料.zip
- 基于Golang 的后台管理系统(基础版)详细文档+优秀项目+全部资料.zip
- CR750CR751 控制器操作说明书(故障排除).pdf
- 基于goframe搭建的电商前后台API系统详细文档+优秀项目+全部资料.zip
- linux常用命令大全.txt
- 基于golang的分布式即时通讯系统详细文档+优秀项目+全部资料.zip
- linux常用命令大全.txt
- 基于Golang的个人简易博客系统详细文档+优秀项目+全部资料.zip
- 基于Golang实现的单点登录系统(go-sso),实现手机号注册、手机号+验证码登录、手机号+密码登录、账号登出等功能,用户认证采用cookie和jwt两种方式详细文档+优秀项目+全部资料.zip
- 基于Golang+Markdown的博客系统详细文档+优秀项目+全部资料.zip
- 基于golang实现的分布式聊天系统,支持i一对一聊天,聊天室等详细文档+优秀项目+全部资料.zip
- 基于Golang的开源社区系统。简洁对话,高效互动,详细文档+优秀项目+全部资料.zip
- 基于Golang重构考试系统详细文档+优秀项目+全部资料.zip