一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

ecshop模板常用函数整理总结

时间:2022-06-25 16:17:33 编辑:袖梨 来源:一聚教程网

/**
* 通过goodsid,brandid 获取月售数量
* $type :goods 商店brand
* $date 成交天数  -1 为所有
*/
function yueshou($id,$type='goods',$date=30){
    if($date>0) $alltime = " and oi.add_time>UNIX_TIMESTAMP()-86400*".$date;
    if($type=='goods'){
            $row = $GLOBALS['db']->getOneCached("SELECT sum(og.goods_number) as gnum FROM " . $GLOBALS['ecs']->table('order_goods') . " as og left join " . $GLOBALS['ecs']->table('order_info') . " as oi ON oi.order_id=og.order_id  where og.goods_id ='$id'".$alltime);
    }else{
            $row = $GLOBALS['db']->getOneCached("SELECT sum(og.goods_number) as gnum FROM " . $GLOBALS['ecs']->table('order_goods') . " as og left join " . $GLOBALS['ecs']->table('order_info') . " as oi ON oi.order_id=og.order_id  where og.brandid ='$id'".$alltime);
    }
 
    return intval($row);
}
 
 
 
 
/**
* 获取收藏数量
* @param undefined $id
* @param undefined $type  goods,brand
*
*/
function get_shoucan_num($id,$type='goods'){
if($type=="goods"){
return  $GLOBALS['db']->getOneCached("SELECT COUNT(*) as cnum FROM " . $GLOBALS['ecs']->table('collect_goods') . " where  goods_id ='$id' ");
}else{
return  $GLOBALS['db']->getOneCached("SELECT COUNT(*) as cnum FROM " . $GLOBALS['ecs']->table('collect_goods_sj') . " where  brand_id ='$id' "); 
}
}
 
 
 
 
 
/**
* goodid 获取 评论星级 ,评论总数
* 2014 12 10 shanmao.me
* 返回 评论总数,星级,星级html
*/
function good_id_re_commavg($goods_id){
    $row = $GLOBALS['db']->getRowCached("SELECT COUNT(*) as cnum,IFNULL(AVG(comment_rank), 0) AS crank FROM " . $GLOBALS['ecs']->table('comment') . " where comment_type=0 and id_value ='$goods_id'");
     $row['crank']  = ceil($row['crank']) == 0 ? 5 : ceil($row['crank']);
     for($i=1;$i<=5;$i++){
        if($i<=$row['crank'])
        $row['cstar'] .= 'select">';
        else
        $row['cstar'] .= '';
     }  
    return $row;
}
 
/**  
* 获取评论总数  看是否需要用到上面的!  good_id_re_commavg
* @param undefined $id
* @param undefined $type
*
*/
 
function  get_comment_count($id,$type=0){  //活得商品评论个数 $type =0 商品 =1 文章
    $count = $GLOBALS['db']->getOne('SELECT COUNT(*) FROM ' .$GLOBALS['ecs']->table('comment').
           " WHERE id_value = '$id' AND comment_type = '$type' AND status = 1 AND parent_id = 0");
           return $count;
}
 
 
//正则匹配手机格式
function is_moblie($mobile){
    $chars = "/^13[0-9]{1}[0-9]{8}$|15[0-9]{1}[0-9]{8}$|1[0-9]{2}[0-9]{8}$/";
    if (preg_match($chars, $mobile)){
        return true;
    }else{
        return false;
    }
}
 
/**
 * 获得指定地址
 *
 * @access      public
 * @param       int     country    国家的编号
 * @return      array
 */
function a_get_regions($region = 0, $region2 = 0,$region3 = 0)
{
    $sql = 'SELECT region_id, region_name FROM ' . $GLOBALS['ecs']->table('region') .
    " WHERE  region_id = '$region' or  region_id = '$region2' or  region_id = '$region3' ";
    $data = $GLOBALS['db']->getAllCached($sql);
    $region_name =array();
    if($data){
        foreach ($data as $v){
            $region_name[] = $v['region_name'];
        }
    }
    //$region_name = implode(' ', $region_name);
    return $region_name;
}
 
/**
 * 验证手机号码是否正确  2015-5-7 shanmao.me
 * @param undefined $mob
 * @param undefined $code
 *
 */
function checkmobcode($mob,$code){
    if(!is_moblie($mob)) return '手机号码不正确';
    $sql = "select time from aoy_mob_code where mob = ".$mob." and  code='".$code."' order by id desc limit 1";
    $btime = $GLOBALS['db']->getOne($sql);
    if($btime && $btime+600 >gmtime()){ //10分钟内
        return 'success';
    }else{
        return '验证码不正确或已超时';
    }
}
 
/**
 *
 * 发送短信验证码
 * 2015-4-21 山猫
 * 返回成功状态:  发送成功
 * */
function send_mobcode($mob,$code){
    if(!is_moblie($mob)) return '手机号码不正确';
    $sql = "select time from ecs_mob_code where mob = ".$mob." and status=1 order by id desc limit 1";
    $btime = $GLOBALS['db']->getOne($sql);
    if($btime+60 >gmtime()){
        return '1分钟内一个手机号只能发送一次';
    }else{
        $data['mob']=$mob;
        $data['code']=$code;
        $data['ip']=real_ip();
        $data['ip2']=ip2long($data['ip']);
        $data['time']=gmtime();
        $data['status']=0;//默认不成功
        if(1){
            $url = 'http://106.dxton.com/webservice/sms.asmx/Submit?account=ssss&password=xxxxxx&mobile='.$mob.'&content='."您的验证码是:【".$code."】。请不要把验证码泄露给其他人。如非本人操作,可不用理会!";
                
            $res  = file_get_contents($url);
            //var_dump($res);
            $ref = json_decode(json_encode((array) simplexml_load_string($res)), true);
            if($ref['result']==100){
                $data['status']=1;
            }
            $re = $GLOBALS['db']->autoExecute('aoy_mob_code',$data);
            //
            return  $ref['message'];
                
        }
    }
 
}

自定义php:

header("Content-Type:text/html;charset=utf-8");
define('IN_ECS', true);
 
require(dirname(__FILE__) . '/includes/init.php');
include_once(ROOT_PATH . 'includes/lib_order.php');
    $_LANG['no_basic_goods'] = '对不起,您希望将该商品做为配件购买,可是购物车中还没有该商品的基本件。';
        $_LANG['not_on_sale'] = '对不起,该商品已经下架。';
        $_LANG['cannt_alone_sale'] = '对不起,该商品不能单独销售。';
        $_LANG['shortage'] = "对不起,该商品已经库存不足暂停销售。";
        
        
$act =$_GET['type'];
switch($act){
    case "getcode"://获取手机验证
    $code = rand(111111,999999);   
    $re = send_mobcode($_POST['mob'],$code);
    if($re=='发送成功'){
        exit('1');
    }else{
        if($re){
            exit($re);
        }else{
            exit('发送失败,请重新发送');
        }
        
    }
    break;
    case "checkcode":
    $re = checkmobcode($_POST['mob'],intval($_POST['code']));
    if($re=='success'){
    if($_POST['pass']){//修改密码
    $uinfo = $GLOBALS['db']->getRow("select * from ".$GLOBALS['ecs']->table('users')." where mobile_phone = ".$_POST['mob']);
    if($uinfo){
    $data['password'] = $uinfo['ec_salt']?md5(md5($_POST['pass']).$uinfo['ec_salt']):md5($_POST['pass']);
     $GLOBALS['db']->autoExecute($GLOBALS['ecs']->table('users'), $data, 'UPDATE','user_id='.$uinfo['user_id']);
    }else{
        exit("没有找到用户信息");
    }
    }
        exit('1');
    }else{
        exit($re);
    }
    break;
    case "addcart":
        $goodid = addslashes($_POST['goodid']);
        $num = addslashes($_POST['num']);
        $num = $num? $num:1;   
        if(addto_cart($goodid,$num)){
        $result['info']='添加成功';
        $result['num']  =$num ;
        $result['error']=0;
        }else{
            $info = $err->last_message();           
            $result['info']  =$info[0] ;
            $result['error']    = $err->error_no;
            //var_dump($result);
        }
    die(json_encode($result));
    break;
 
    default:
 
    echo 'err action';
    break;
}

前台好用的js
function addToCart(goodid,num){// add by shanmao.me
 
    $.post("ajax.php?type=addcart",{goodid:goodid,num:num},function(data){
 
            alertmsg(data.info);
 
            var carnum=$("#carnum").text();
 
            $("#carnum").text(Number(carnum)+Number(data.num));
 
            },'json');
 
    }
 
function addToCartbytj(tid){//?ㄨ???ョ???硅?
 
    $.post("ajax.php?type=tjaddtocart",{tid:tid},function(data){
 
            alertmsg(data.msg);
 
            if(data.code==1){
 
                reloadpage(2,'flow.php?step=checkout');
 
            //window.location.href='flow.php?step=checkout';
 
            }  
 
            },'json');
 
    }  
 
function collect(goodsId,type,vthis)  // type = sj  是商家  2015-7-24
 
{
 
    $.get('user.php?act=collect&id=' + goodsId+'&type='+type,function(data){
        if(data.error==0){
            $(vthis).addClass("select");
            }
        alertmsg(data.message);
 
    },'json');
 
}
 
 
function reloadpage(t,url){
 
    if(!t)t=1;
 
    t=t*1000;
 
    if(url){
 
    setTimeout("window.location.href='"+url+"'",t);
 
        }else{
 
    setTimeout("window.location.reload()",t);
 
    }
 
    }
 
 
 
function alertmsg(msg){
    
    alert(msg);
    return false;
    $("#alertmsg").html(msg);
 
    $(".dhcg-box").show();
 
    }
 
    $(".cell-num-left").click(function(){
        var cellNum = $(this).parent().find('input').val();
        cellNum--;
        if (cellNum<=0) {
            cellNum=0;
        };
        changegoodsnum(cellNum)
        var recid = $(this).attr('recid');
        if(recid) changegwcnum(recid,cellNum);
        $(this).parent().find('input').val(cellNum)
    })
    $(".cell-num-right").click(function(){
        var cellNum = $(this).parent().find('input').val();
        cellNum++;
        changegoodsnum(cellNum)
        var recid = $(this).attr('recid');
        if(recid) changegwcnum(recid,cellNum)
        $(this).parent().find('input').val(cellNum)
    })
 
function changegoodsnum(num){ //改变商品数量 改变价格。
    var goodsid = $("#goodsid").val();
    if(!goodsid) return false;
    $.get("goods.php?act=price&id="+goodsid+"&attr=&number="+num+"&",function(data){
            $("#zongjia").html(data.result);                                                                         
    },'json')
    }
    
function changegwcnum(recid,num){//改变购物车内商品价格
        if(!recid) return false;
        var arr = {};
        arr['goods_number['+recid+']']=num;
        $.post("flow.php?step=update_cart&ptype=ajax",arr,function(data){
                    if(data.content==1){
                        window.location.reload();
                        }else{
                        alert(data.content);   
                            }                             
        },'json')
    }  

热门栏目