ecshop order paid中手机站登录之后点击查看个人信息就出现【函数 order_query_sql 参数错误】的提示。

2549人阅读
ecshop(8)
最近在实现ecshop中的一个猜你喜欢的原理,一直不明白这个是如何猜的,难道是根据最近浏览记录来得到?百思不得其解,就放下了这个问题,一天在百度搜索东西的时候,突然发现这个右边有个猜你喜欢的功能,其实以前也知道,这里有这个版块,只不过没加注意,这次经过仔细观察发现,原来猜你喜欢的时候,就根据你搜索的相关结果,关联出一些同类产品。
举个例子,比如我搜索notepad2的时候,notepad++,editplus等软件就被列入了猜你喜欢的类别中,因此,在ecshop中如果我们记录了用户的浏览记录,通过浏览记录找出记录中的同类产品,其实就是猜你喜欢的结果了。
当我们一直研究某个问题,可能一时间得不到个最终结果,但是偶然的某个时候我们就会发现,答案自然出来了。其实不是答案自然出来了,其实是我们一直都在搜索答案,只不过是在后台静默的搜索,以至于我们都没察觉,但是,当结果出来的时候,他就会弹窗告知我们,我们要的答案出现了。
首先查看&调用浏览历史的函数insert_history(),从中找出得到历史记录的方法:
$where = db_create_in($_COOKIE['ECS']['history'], 'goods_id');
& &$sql & = 'SELECT goods_id, cat_id FROM ' . $GLOBALS['ecs']&table('goods') .
& & & & & & & & & WHERE $where AND is_on_sale = 1 AND is_alone_sale = 1 AND is_delete = 0&;
&$query = $GLOBALS['db']-&query($sql);
这样就会得到浏览记录的商品id,所属的cat_id.
接下来通过&获得指定分类下的推荐商品函数get_category_recommend_goods()
基本上就得到我们想要的猜你喜欢的功能了。如果顾客购买过商品,我们通过订单表中的商品来找到所属的category来进行提供猜你喜欢也可以,其实就看你想怎么实现了。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:230305次
积分:2934
积分:2934
排名:第9809名
原创:77篇
转载:39篇
评论:29条
(1)(4)(1)(1)(3)(3)(5)(4)(16)(25)(5)(1)(3)(3)(1)(1)(3)(7)(2)(12)(11)(6)(1)有些文章是转载,如没注明出处,请告知我。
lib_base.php 基础函数库 1.sub_str($str, $length = 0, $append = true)   截取UTF-8编码下字符串的函数   string
被截取的字符串
截取的长度
是否附加省略号
2.reap_ip()   获得用户的真实IP地址
3.str_len($str)   计算字符串的长度(汉字按照两个字符计算) 4.get_crlf()   获得用户操作系统的换行符 5.send_mail($name, $email, $subject, $content, $type = 0, $notification=false)   邮件发送   $name[string]
接收人姓名   $email[string]
接收人邮件地址   $subject[string]
邮件标题   $content[string]
邮件内容   $type[int]
0 普通邮件, 1 HTML邮件   $notification[bool]
true 要求回执, false 不用回执 6.gd_version()   获得服务器上的 GD 版本 7.file_mode_info($file_path)   文件或目录权限检查函数 8.make_dir($folder)
  检查目标文件夹是否存在,如果不存在则自动创建该目录 9.gzip_enabled()
  获得系统是否启用了 gzip 10.addslashes_deep($value)   递归方式的对变量中的特殊字符进行转义 11. addslashes_deep_obj($obj)   将对象成员变量或者数组的特殊字符进行转义 12.stripslashes_deep($value)   递归方式的对变量中的特殊字符去除转义 13.make_semiangle($str)   将一个字串中含有全角的数字字符、字母、空格或'%+-()'字符转换为相应半角字符 14.check_file_type($filename, $realname = '', $limit_ext_types = '')   检查文件类型   string
文件名   string
真实文件名   string
limit_ext_types
允许的文件类型   return
string 15.mysql_like_quote($str)   对 MYSQL LIKE 的内容进行转义 16.real_server_ip()   获取服务器的ip 17.ecs_header($string, $replace = true, $http_response_code = 0)   自定义 header 函数,用于过滤可能出现的安全隐患 18.ecs_geoip($ip) 19. ecs_iconv 20.trim_right($str)   去除字符串右侧可能出现的乱码 21.move_upload_file($file_name, $target_name = '')   将上传文件转移到指定位置 22.json_str_iconv($str)   将JSON传递的参数转码 23.to_utf8_iconv($str)   循环转码成utf8内容 24.get_file_suffix($file_name, $allow_type = array())   获取文件后缀名,并判断是否合法 25.read_static_cache($cache_name)   读结果缓存文件 26.write_static_cache($cache_name, $caches)   写结果缓存文件
cls_ecshop.php 基础类
类名:ECS 构造函数: ECS 方法: 1.table($str)
  将指定的表名加上前缀后返回 2. compile_password($pass)
  ECSHOP 密码编译方法
3.get_domain()   取得当前的域名 4.url()   获得 ECSHOP 当前环境的 URL 地址 5.http()   获得 ECSHOP 当前环境的 HTTP 协议方式 6.data_dir($sid = 0)   获得数据目录的路径 7. image_dir($sid = 0)   获得图片的目录路径
cls_mysql.php mysql公用类库 类名:cls_mysql 构造函数:__construct 方法: 1.cls_mysql($dbhost, $dbuser, $dbpw, $dbname = '', $charset = 'gbk', $pconnect = 0, $quiet = 0) 2.connect($dbhost, $dbuser, $dbpw, $dbname = '', $charset = 'utf8', $pconnect = 0, $quiet = 0) 连接数据库 3.select_database($dbname) 选择数据库 4.set_mysql_charset($charset) 设置数据库编码 5.fetch_array 从结果集中取得一行作为数组。 6.query($sql, $type = '') 执行sql语句 7.affected_rows() 取得前一次 MySQL 操作所影响的记录行数 8.error() mysql错误 9.errno() 返回上一个 MySQL 操作中的错误信息的数字编码 10.result 取得结果数据 11.num_rows($query) 取得结果集中行的数目 12.num_fields 取得结果中指定字段的字段名 13.free_result 释放结果内存 14.fetchRow($query) 15.fetch_fields($query) 16.version() 17.ping() 18.escape_string($unescaped_string) 19.close() 20.ErrorMsg($message = '', $sql = '') 21.selectLimit($sql, $num, $start = 0) 查询几条数 22.getOne($sql, $limited = false) 查询1条 23.getOneCached($sql, $cached = 'FILEFIRST') 24.getAll($sql) 查询所有 25.getAllCached($sql, $cached = 'FILEFIRST') 26.getRow($sql, $limited = false) 27.getRowCached($sql, $cached = 'FILEFIRST') 28.getCol($sql) 29.getColCached($sql, $cached = 'FILEFIRST') 30.autoExecute($table, $field_values, $mode = 'INSERT', $where = '', $querymode = '') 31.autoReplace($table, $field_values, $update_values, $where = '', $querymode = '') 32.setMaxCacheTime($second) 33.getMaxCacheTime() 34.getSqlCacheData($sql, $cached = '') 35.setSqlCacheData($result, $data) 36.table_lastupdate($tables) 获取 SQL 语句中最后更新的表的时间,有多个表的情况下,返回最新的表的时间 37.get_table_name($query_item) 38.set_disable_cache_tables($tables) 设置不允许进行缓存的表
阅读(...) 评论()

我要回帖

更多关于 ecshop order paid 的文章

 

随机推荐