1:如何统计ecshop商品在订单中出现的次数
???? 回答:$count = $db -> getOne("select sum(goods_number) from ".$ecs->table('order_goods')." where goods_id = '$goods[goods_id]'");
?? 2:ecshop详细页面如何通过onclick点击事件来控制购买,特别用在批发,批发存在一个最小购买量控制.
?? 回答:
???????? <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:如何用js去验证手机号码.
??? 回答: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中如何取得每个月的1号时间?
?? 回答:local_mktime(0,date("m"),date("Y"));使用ecshop的local_mktime函数.??
??? 5:ecshop如何直接关闭窗口而不弹出提示
?? 回答:<a href="javascript:window.opener=null;window.close();">
??? 6:如何统计ecshop某商品下被审核过的评论数量。
回答:$ccount = $db -> getOne("select count(*) cc from ".$ecs->table('comment')." where id_value = '$goods_id' and comment_type = '0' and status = '1' and parent_id = '0'");
?? 7:ecshop中js如何将时间格式互转
??? 回答:date1 = new Date();
var b = Date.UTC(date1.getYear(),date1.getMonth()+1,date1.getDate(),0)
time1 = frm.elements['best_time'].value;
y = time1.substring(0,4);
m = time1.substring(5,7);
d = time1.substring(8,10);
var b2 = Date.UTC(y,m,d,0)
?? 8:如何解析ecshop flash的xml
回答:
??? $str = @file_get_contents("data/flash_data.xml");
if($str){
?? preg_match_all("/item_url="(.*?)"/",$str,$url);
?? preg_match_all("/text="(.*?)"/",$text);
?? preg_match_all("/link="(.*?)"/",$link);
?? $ar_flash = array();
?? if(sizeof($url[1])){
??? for($i=0;$i<sizeof($url[1]);$i++){
???? $ar_flash[$i]['url'] = $url[1][$i];
???? $ar_flash[$i]['text'] = $text[1][$i];
???? $ar_flash[$i]['link'] = $link[1][$i];
??? }
??? $smarty->assign('ar_flash',$ar_flash);
?? }
??
}
9:ecshop中如何正则提取中文
回答:preg_match("/[".chr(0xa1)."-".chr(0xff)."]+/",ecs_iconv("UTF-8","GBK",$v['brand_name']),$cn);
10:ecshop如何取得订单中所属区域
$p = $GLOBALS['db']->getOne("select region_name from ".$GLOBALS['ecs']->table('region')." where region_id = '".$re1['province']."'");
???? $c = $GLOBALS['db']->getOne("select region_name from ".$GLOBALS['ecs']->table('region')." where region_id = '".$re1['city']."'");
???? $d = $GLOBALS['db']->getOne("select region_name from ".$GLOBALS['ecs']->table('region')." where region_id = '".$re1['district']."'");
11:ecshop中如何分别提取中文和英文
回答:utf下面
$pregstr = "/[x{4e00}-x{9fa5}]+/u";
preg_match($pregstr,$v['brand_name'],$ch);??????
gbk下面
$strtest = “yyg中文字符yyg”;
$pregstr = "/([".chr(0xb0)."-".chr(0xf7)."][".chr(0xa1)."-".chr(0xfe)."])+/i";
if(preg_match($pregstr,$strtest,$matchArray)){
echo $matchArray[0];
}
12:如何控制ecshop商品总价格只有ecshop会员特殊等级才能查看
回答:ecshop的goods.php
$is_spe = $GLOBALS['db'] -> getOne("select special_rank from ".$GLOBALS['ecs']->table('user_rank')." where rank_id = '".$_SESSION['user_rank']."'");
?? if($is_spe){
??? $res['result'] = price_format($shop_price * $number);
?? }else{
??? $string = "<a href=article-21-%E6%80%8E%E4%B9%88%E6%B3%A8%E5%86%8C.html>请联系客服</a>";
??? $res['result'] = $string;
?? }
13:调试ecshop程序出现以下错误Fatal error: Cannot redeclare是什么意思?
回答:Fatal error: Cannot redeclare,意思是你运行的程序中,某函数重新申明了两次,要删除其中一个同名函数.
14:ecshop如何判断是否当天登陆,并赠送积分.
回答:/* 赠送积分 */
?? $day = local_mktime(0,date("d"),date("Y"));
?? $last_time = $db -> getOne("select last_login from ".$ecs->table('users')." where user_name = '".$username."'");
?? if($last_time < $day){
??? log_account_change($_SESSION['user_id'],10,'每天登陆送积分',ACT_OTHER);
?? }
15:如何在ecshop订单列表中列表出订单中所包含的商品编号.
回答:
??? function get_user_orders($user_id,$num = 10,$start = 0)
{
??? /* 取得订单列表 */
??? $arr??? = array();
??? global $ecs;
global $db;
??? $sql = "SELECT order_id,order_sn,order_status,consignee,shipping_status,pay_status,add_time," .
?????????? "(goods_amount + shipping_fee + insure_fee + pay_fee + pack_fee + card_fee + tax – discount) AS total_fee ".
?????????? " FROM " .$GLOBALS['ecs']->table('order_info') .
?????????? " WHERE user_id = '$user_id' ORDER BY add_time DESC";
??? $res = $GLOBALS['db']->SelectLimit($sql,$num,$start);
??? while ($row = $GLOBALS['db']->fetchRow($res))
??? {
??????? if ($row['order_status'] == OS_UNCONFIRMED)
??????? {
??????????? $row['handler'] = "<a href="user.php?act=cancel_order&order_id=" .$row['order_id']. "" onclick="if (!confirm('".$GLOBALS['_LANG']['confirm_cancel']."')) return false;">".$GLOBALS['_LANG']['cancel']."</a>";
??????? }
??????? else if ($row['order_status'] == OS_SPLITED)
??????? {
??????????? /* 对配送状态的处理 */
??????????? if ($row['shipping_status'] == SS_SHIPPED)
??????????? {
??????????????? @$row['handler'] = "<a href="user.php?act=affirm_received&order_id=" .$row['order_id']. "" onclick="if (!confirm('".$GLOBALS['_LANG']['confirm_received']."')) return false;">".$GLOBALS['_LANG']['received']."</a>";
??????????? }
??????????? elseif ($row['shipping_status'] == SS_RECEIVED)
??????????? {
??????????????? @$row['handler'] = '<span style="color:red">'.$GLOBALS['_LANG']['ss_received'] .'</span>';
??????????? }
??????????? else
??????????? {
??????????????? if ($row['pay_status'] == PS_UNPAYED)
??????????????? {
??????????????????? @$row['handler'] = "<a href="user.php?act=order_detail&order_id=" .$row['order_id']. '">' .$GLOBALS['_LANG']['pay_money']. '</a>';
??????????????? }
??????????????? else
??????????????? {
??????????????????? @$row['handler'] = "<a href="user.php?act=order_detail&order_id=" .$row['order_id']. '">' .$GLOBALS['_LANG']['view_order']. '</a>';
??????????????? }
??????????? }
??????? }
??????? else
??????? {
??????????? $row['handler'] = '<span style="color:red">'.$GLOBALS['_LANG']['os'][$row['order_status']] .'</span>';
??????? }
??????? $row2 = $db -> getAll("select goods_id,goods_sn from ".$ecs->table('order_goods')." where order_id = '".$row['order_id']."'");
??????? $row['shipping_status'] = ($row['shipping_status'] == SS_SHIPPED_ING) ? SS_PREPARING : $row['shipping_status'];
??????? $row['order_status'] = $GLOBALS['_LANG']['os'][$row['order_status']] . ',' . $GLOBALS['_LANG']['ps'][$row['pay_status']] . ',' . $GLOBALS['_LANG']['ss'][$row['shipping_status']];
??????? $arr[] = array('order_id'?????? => $row['order_id'],
?????????????????????? 'order_sn'?????? => $row['order_sn'],
?????????????????????? 'order_time'???? => local_date($GLOBALS['_CFG']['time_format'],$row['add_time']),
?????????????????????? 'order_status'?? => $row['order_status'],
?????? 'consignee'?? => $row['consignee'],
?????????????????????? 'total_fee'????? => price_format($row['total_fee'],false),
??????? 'goodslist'?? => $row2,
?????????????????????? 'handler'??????? => $row['handler']);
??? }
??? return $arr;
}
16:如何取得ecshop会员一天内的评论条数
function get_day_count_comment($user_id = ''){
global $db;
global $ecs;
$pre = local_mktime(0,date("y"));
$next = local_mktime(0,date("d")+2,date("y"));
???
$count = $db -> getOne("select count(*) from ".$ecs->table('comment')." where user_id = '$user_id' and add_time > '$pre' and add_time < '$next' ");
if($count > 5){
?? return false;
}else{
?? return true;
}
}
17:ecshop中js是如何验证radio选择.
回答:类似以下代码
/*
var businesstype = false;
var job_title = false;
var number_of_employees = false;
?? for (i = 0; i < frm.elements.length; i ++ )
{
??? if (frm.elements.name == 'businesstype' && frm.elements.checked)
??? {
????? businesstype = true;
??? }
??? if (frm.elements.name == 'job_title' && frm.elements.checked)
??? {
????? job_title = true;
??? }
if (frm.elements.name == 'number_of_employees' && frm.elements.checked)
??? {
????? number_of_employees = true;
??? }
if (frm.elements.name == 'number_of_employees' && frm.elements.checked)
??? {
????? number_of_employees = true;
??? }
}
*/
如果有技术问题:请加QQ群?231552899 一起讨论