[ecshop模板堂]ecshop模板常用函数整理总结

更新时间:2019-12-06    来源:php函数    手机版     字体:

【www.bbyears.com--php函数】

/**
* 通过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"] .= "";
        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")
    }  

本文来源:http://www.bbyears.com/jiaocheng/82398.html