利用google api生成二维码名片例子

 更新时间:2016年11月25日 15:42  点击:1627
在这里本文章重点来给大家介绍利用google提供的的二维码生成API生成的二维码名片,这个是所有二维码生成插件中最好的一个,好了不多说,直接上代码:


二维条码/二维码可以分为堆叠式/行排式二维条码和矩阵式二维条码。堆叠式/行排式二维条码形态上是由多行短截的一维条码堆叠而成;矩阵式二维条码以矩阵的形式组成,在矩阵相应元素位置上用“点”表示二进制“1”,用“空”表示二进制“0”,“点”和“空”的排列组成代码。

堆叠式/行排式二维条码,如,Code 16K、Code 49、PDF417等。

矩阵式二维码,最流行莫过于QR CODE。

矩阵式二维码存储的数据量更大;可以包含数字、字符,及中文文本等混合内容;有一定的容错性(在部分损坏以后可以正常读取);空间利用率高等。

 代码如下 复制代码

 

<?php
$vname = 'test'; 
$vtel = '13800000000'; 
generateQRfromGoogle($vname,$vtel);

function generateQRfromGoogle($vname,$vtel,$widhtHeight ='150',$EC_level='L',$margin='0')
{
    if($vname&&$vtel){ 
       $chl = "BEGIN:VCARDnVERSION:3.0". //vcard头信息 
       "nFN:$vname". 
       "nTEL:$vtel". 
       "nEND:VCARD"; //vcard尾信息 
       echo '<img src="http://chart.apis.google.com/chart?chs='.$widhtHeight.'x'.$widhtHeight.'&cht=qr&chld='.$EC_level.'|'.$margin.'&chl='.urlencode($chl).'" alt="QR code" widhtHeight="'.$size.'" widhtHeight="'.$size.'"/>';
    }
}
?>

 

php生成网址二维码:

 代码如下 复制代码

<?php
$url = "http://www.google.com.hk";
generateQRfromGoogle($url);

function generateQRfromGoogle($chl,$widhtHeight ='150',$EC_level='L',$margin='0')
{
       echo '<img src="http://chart.apis.google.com/chart?chs='.$widhtHeight.'x'.$widhtHeight.'&cht=qr&chld='.$EC_level.'|'.$margin.'&chl='.urlencode($chl).'" alt="QR code" widhtHeight="'.$size.'" widhtHeight="'.$size.'"/>';
}
?>

例子

 代码如下 复制代码
<?php
/*
* php 生成二维码名片
* api Google
* google api 二维码生成【QRcode可以存储最多4296个字母数字类型的任意文本,具体可以查看二维码数据格式】
* @param string $chl 二维码包含的信息,可以是数字、字符、二进制信息、汉字。不能混合数据类型,数据必须经过UTF-8 URL-encoded.如果需要传递的信息超过2K个字节,请使用POST方式
* @param int $widhtHeight 生成二维码的尺寸设置
* @param string $EC_level 可选纠错级别,QR码支持四个等级纠错,用来恢复丢失的、读错的、模糊的、数据。
*                         L-默认:可以识别已损失的7%的数据
*                         M-可以识别已损失15%的数据
*                         Q-可以识别已损失25%的数据
*                         H-可以识别已损失30%的数据
* @param int $margin 生成的二维码离图片边框的距离
* 二维码名片的格式---vcard
* 格式参考如下:
 BEGIN:VCARD
 VERSION:3.0
 FN:用户名
 TEL;CELL;VOICE:0571-00000000
 TEL;WORK;VOICE:0571-00000000
 TEL;WORK;FAX:0571-00000000
 EMAIL;PREF;INTERNET:361way
 URL:http://www.111cn.net
 orG:361way运维之路
 ROLE:研发部
 TITLE:CTO
 ADR;WORK;POSTAL:杭州市西湖区XXX号;310000
 REV:2014-2-26T08:30:02Z
 END:VCARD
 如果你想更详细的定制所需要的格式,则需要详细的了解vcard的格式标准。
*/
$vcard = array(
 'vname' => '用户名',
 'vtel' => '13800000000',
 'vemail' => 'aaaaa@163.com',
 'vaddress' => '杭州市西湖区',
);
generateQRfromGoogle($vcard);
function generateQRfromGoogle($vcard,$widhtHeight ='150',$EC_level='L',$margin='0')
{
    if($vcard){
       $chl = "BEGIN:VCARDnVERSION:3.0". //vcard头信息
       "nFN:".$vcard['vname'].
       "nTEL:".$vcard['vtel'].
    "nEMAIL:".$vcard['vemail'].
    "nADR:".$vcard['vaddress'].
       "nEND:VCARD"; //vcard尾信息
       echo '<img src="http://chart.apis.google.com/chart?chs='.$widhtHeight.'x'.$widhtHeight.'&cht=qr&chld='.$EC_level.'|'.$margin.'&chl='.urlencode($chl).'" alt="QR code" widhtHeight="'.$size.'" widhtHeight="'.$size.'"/>';
    }
}
?>

如果想实现中间有logo的效果,需要通过另外一个logo小图进行拼接即可。这里只提供一种实现方法,也可以通过QRcode的方式进行生成。

vcode的标准信息可以参看维基百科 。

注:有些生成的图片经扫描没有的数据的原因是编码导致的,该问题在windows下较常见,由于很多编辑器默认提供的是ANSI编码,更改成utf8就OK了。

在这里我们利用curl实现把本地服务器的文件通过curl发送请求给远程服务器的php文件接受就实现了上传,还一个是利用ftp来上传方法也是php中的curl操作ftp服务器进行上传。

我这里写的是用curl的代码

本地代码如下:

 代码如下 复制代码

<?php
    header('content-type:text/html;charset=utf8');
    $curl = curl_init();
    $data = array('img'=>'@'. dirname(__FILE__).'/img/login.gif');
    curl_setopt($curl, CURLOPT_URL, "http://www.demo.com/uploadimg.php");
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
    $result = curl_exec($curl);
    curl_close($curl);
    echo json_decode($result);
?>

远程服务器接受端代码:

 代码如下 复制代码

<?php
    if($_FILES)
    {
        $filename = $_FILES['img']['name'];
        $tmpname = $_FILES['img']['tmp_name'];
        if(move_uploaded_file($tmpname, dirname(__FILE__).'/img/'.$filename))
        {
            echo json_encode('上传成功');
        }
        else
        {
            $data = json_encode($_FILES);
            echo $data;
        }
    }
?>

例子,同样是利用curl不过这是利用ftp

 代码如下 复制代码

<?php
$localfile = "php_homepage.txt";
$fp = fopen ($localfile, "r");
$arr_ip = gethostbyname(www.111cn.net);
echo $arr_ip;
$ftp = "ftp://".$arr_ip."/public_html/".$localfile; 
$ch = curl_init();
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_USERPWD, '***:****');
curl_setopt($ch, CURLOPT_URL, $ftp);
curl_setopt($ch, CURLOPT_PUT, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_INFILE, $fp);
curl_setopt($ch, CURLOPT_INFILESIZE, filesize($localfile));
$http_result = curl_exec($ch);
$error = curl_error($ch);
echo $error."<br>";
$http_code = curl_getinfo($ch ,CURLINFO_HTTP_CODE);curl_close($ch);
fclose($fp);
?>

今天公司要做一个提问的功能全部使用ajax操作了,这里我只拿其它的一个分类二级下拉效果ajax例子,希望此文章对你会有帮助。

html代码

 代码如下 复制代码

<select id="teId" name="te_id" onchange="getArea()">
   <option value="1000">--请选择分类--</option>
      <option value="1">房产知识</option>
      <option value="8">房屋买卖</option>
      <option value="16">法律法规</option>
      <option value="24">银行贷款</option>
      <option value="31">房产类型</option>
      <option value="40">装修风水</option>
      <option value="47">房产经纪</option>
      <option value="52">其他问题</option>
      <option value="54">楼盘问答</option>
     </select>
  <span id="teTid" ></span>
  <span></span>
  <select id="wealth" name="wealth">
   <option value="">--请选择悬赏积分--</option>
   <option value="0">我要给0</option>
   <option value="5">我要给5</option>
   <option value="15">我要给15</option>
   <option value="30">我要给30</option>
   <option value="50">我要给50</option>
  </select>

ajax代码

 代码如下 复制代码

// 创建ajax引擎
 function getXmlHttpObject() {
  var xmlHttpRequest;

  if (window.ActiveXObject) {

   xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
  } else {

  xmlHttpRequest = new XMLHttpRequest();
 }

 return xmlHttpRequest;
}

var myXmlHttpRequest = "";

function getArea(){
 //alert(ID('teId').value);
 myXmlHttpRequest = getXmlHttpObject();
 // 怎样判断是否可以www.111cn.net
 if (myXmlHttpRequest) {
  // post 发送数据
  var url = "ajax_tiwen.php";
  var date = "teId=" + ID('teId').value;

  myXmlHttpRequest.open("post", url, true);
 
  myXmlHttpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
  myXmlHttpRequest.onreadystatechange = TiWen;
  myXmlHttpRequest.send(date);
 }
}

php代码

 代码如下 复制代码
$str = '';
if(!$teamId)
{
 
 $str .= '<select name="te_tid">';
 $str .= ' <option value="1000">--请选择分类--</option>';
 $str .= '</select>';
 echo $str;
 exit;
}
else
{
 $str .= '<select id="teTid" name="te_tid">';
 $str .= ' <option value="1000">--请选择分类--</option>';
 foreach($teamId as $v)
 {
  $str .= '<option value="'.$v['id'].'">'.$v['tname'].'</option>';
 }
 $str .= '</select>';
 echo $str;
}

本站原创教程:转载注明来源 http://www.111cn.net 否则后果自负

给各位同学整理了一个ebay订单综合统计的php源码程序,并且可以生成图形表这样可以让我们一眼就看出每天的相关数据了,下面来看例子

订单综合统计 

 一、主程序/admin/erp_ebay_order_stats.php

 代码如下 复制代码

 
define('IN_ECS', true);
 
require(dirname(__FILE__) . '/includes/init.php');
require_once(ROOT_PATH . 'languages/' .$_CFG['lang']. '/admin/erp_ebay_statistic.php');
$smarty->assign('lang', $_LANG);
 
/* act操作项的初始化 */
if (empty($_REQUEST['act']))
{
    $_REQUEST['act'] = 'view';
}
else
{
    $_REQUEST['act'] = trim($_REQUEST['act']);
}
 
if ($_REQUEST['act'] == 'view')
{
 
    admin_priv('order_stats'); //检查权限
 
    $is_multi = empty($_POST['is_multi']) ? false : true;
 
    /* 时间参数 */
    if (isset($_POST['start_date']) && !empty($_POST['end_date']))
    {
        $start_date = local_strtotime($_POST['start_date']);
        $end_date = local_strtotime($_POST['end_date']);
    }
    else
    {
        $today  = local_strtotime(local_date('Y-m-d'));
        $start_date = $today - 86400 * 14;
        $end_date   = $today;
    }
 
    $start_date_arr = array();
    $end_date_arr = array();
    if(!empty($_POST['year_month']))
    {
        $tmp = $_POST['year_month'];
 
        for ($i = 0; $i < count($tmp); $i++)
        {
            if (!empty($tmp[$i]))
            {
                $tmp_time = local_strtotime($tmp[$i] . '-1');
                //echo $tmp_time;
                $start_date_arr[] = $tmp_time;
                $end_date_arr[]   = local_strtotime($tmp[$i] . '-' . date('t', $tmp_time));
 
                //echo local_strtotime($tmp[$i] . '-' . date('t', $tmp_time));
            }
        }
    }
    else
    {
        $tmp_time = local_strtotime(local_date('Y-m-d'));
        $start_date_arr[] = local_strtotime(local_date('Y-m') . '-1');
        $end_date_arr[]   = local_strtotime(local_date('Y-m') . '-31');;
    }
 
    /* ------------------------------------- */
    /* -- 综合订单量
    /* ------------------------------------- */
    $max = 0;
 
    if(!$is_multi)
    {
        $general_xml = "<graph caption='$_LANG[general_stats]' shownames='1' showvalues='1' decimalPrecision='0' yaxisminvalue='0' yaxismaxvalue='%d' animation='1' outCnvBaseFontSize='12' baseFontSize='12' xaxisname='$_LANG[date]' yaxisname='$_LANG[order_count]' >";
 
        $sql = "SELECT FLOOR((created_time - $start_date) / (24 * 3600)) AS sn, created_time, COUNT(*) AS order_count".
                " FROM " .$ecs->table('erp_ebay_order').
                " WHERE ebay_status = 'Complete' AND created_time >= '$start_date' AND created_time <= " .($end_date + 86400).
                " GROUP BY sn";
        $res = $db->query($sql);
 
        $key = 0;
 
        while ($val = $db->fetchRow($res))
        {
            $val['order_date'] = gmdate('m-d',$val['created_time'] +  $timezone * 3600 + 86400);
            $general_xml .= "<set name='$val[order_date]' value='$val[order_count]' color='" .chart_color($key). "' />";
            if ($val['order_count'] > $max)
            {
                $max = $val['order_count'];
            }
            $key++;
        }
 
        $general_xml .= '</graph>';
        $general_xml  = sprintf($general_xml, $max);
    }
    else
    {
        $general_xml = "<graph caption='$_LANG[general_stats]' lineThickness='1' showValues='0' formatNumberScale='0' anchorRadius='2'   divLineAlpha='20' divLineColor='CC3300' divLineIsDashed='1' showAlternateHGridColor='1' alternateHGridAlpha='5' alternateHGridColor='CC3300' shadowAlpha='40' labelStep='2' numvdivlines='5' chartRightMargin='35' bgColor='FFFFFF,CC3300' bgAngle='270' bgAlpha='10,10' outCnvBaseFontSize='12' baseFontSize='12' >";
        foreach($start_date_arr AS $k => $val)
        {
 
            $seriesName = local_date('Y-m', $start_date_arr[$k]);
            $general_xml .= "<dataset seriesName='$seriesName' color='" . chart_color($k) . "' anchorBorderColor='" . chart_color($k) . "' anchorBgColor='" . chart_color($k) . "'>";
            $sql = "SELECT FLOOR((created_time - $start_date_arr[$k]) / (24 * 3600)) AS sn, created_time, COUNT(*) AS order_count".
                " FROM " .$ecs->table('erp_ebay_order').
                " WHERE ebay_status = 'Complete' AND created_time >= '$start_date_arr[$k]' AND created_time <= " .($end_date_arr[$k] + 86400).
                " GROUP BY sn";
            $res = $db->query($sql);
 
            $lastDay = 0;
 
            while ($val = $db->fetchRow($res))
            {
                $day = gmdate('d', $val['created_time'] +  $timezone * 3600);
 
                if ($lastDay == 0)
                {
                    $time_span = (($day-1) - $lastDay);
                    $lastDay++;
                    for (; $lastDay < $day; $lastDay++)
                    {
                        $general_xml .= "<set value='0' />";
                    }
                }
                $general_xml .= "<set value='$val[order_count]' />";
 
                $lastDay = $day;
            }
 
            $general_xml .= "</dataset>";
        }
 
        $general_xml .= "<categories>";
 
        for ($i = 1; $i<=31; $i++)
        {
            $general_xml .= "<category label='$i' />";
        }
        $general_xml .= "</categories>";
        $general_xml .= "</graph>";
 
        echo $general_xml;
    }
 
    /* ------------------------------------- */
    /* -- 销售额
    /* ------------------------------------- */
    $max = 0;
 
    if(!$is_multi)
    {
        $amount_xml = "<graph caption='$_LANG[amount_stats]' shownames='1' showvalues='1' decimalPrecision='0' yaxisminvalue='0' yaxismaxvalue='%d' animation='1' outCnvBaseFontSize='12' baseFontSize='12' xaxisname='$_LANG[date]' yaxisname='$_LANG[order_count]' >";
 
        $sql = "SELECT FLOOR((created_time - $start_date) / (24 * 3600)) AS sn, created_time, SUM(subtotal) AS order_amount".
                " FROM " .$ecs->table('erp_ebay_order').
                " WHERE ebay_status = 'Complete' AND created_time >= '$start_date' AND created_time <= " .($end_date + 86400) . " AND ebay_status = 'Complete'" .
                " GROUP BY sn";
        $res = $db->query($sql);
 
        $key = 0;
 
        while ($val = $db->fetchRow($res))
        {
            $val['order_date'] = gmdate('m-d',$val['created_time'] +  $timezone * 3600 + 86400);
            $amount_xml .= "<set name='$val[order_date]' value='$val[order_amount]' color='" .chart_color($key). "' />";
            if ($val['order_amount'] > $max)
            {
                $max = $val['order_amount'];
            }
            $key++;
        }
 
        $amount_xml .= '</graph>';
        $amount_xml  = sprintf($amount_xml, $max);
    }
    else
    {
        $amount_xml = "<graph caption='$_LANG[amount_stats]' lineThickness='1' showValues='0' formatNumberScale='0' anchorRadius='2'   divLineAlpha='20' divLineColor='CC3300' divLineIsDashed='1' showAlternateHGridColor='1' alternateHGridAlpha='5' alternateHGridColor='CC3300' shadowAlpha='40' labelStep='2' numvdivlines='5' chartRightMargin='35' bgColor='FFFFFF,CC3300' bgAngle='270' bgAlpha='10,10' outCnvBaseFontSize='12' baseFontSize='12' >";
        foreach($start_date_arr AS $k => $val)
        {
 
            $seriesName = local_date('Y-m', $start_date_arr[$k]);
            $amount_xml .= "<dataset seriesName='$seriesName' color='" . chart_color($k) . "' anchorBorderColor='" . chart_color($k) . "' anchorBgColor='" . chart_color($k) . "'>";
            $sql = "SELECT FLOOR((created_time - $start_date_arr[$k]) / (24 * 3600)) AS sn, created_time, SUM(subtotal) AS order_amount".
                " FROM " .$ecs->table('erp_ebay_order').
                " WHERE ebay_status = 'Complete' AND created_time >= '$start_date_arr[$k]' AND created_time <= " .($end_date_arr[$k] + 86400) . " AND ebay_status = 'Complete'" .
                " GROUP BY sn";
            $res = $db->query($sql);
 
            $lastDay = 0;
 
            while ($val = $db->fetchRow($res))
            {
                $day = gmdate('d',$val['created_time'] +  $timezone * 3600);
 
                if ($lastDay == 0)
                {
                    $time_span = (($day-1) - $lastDay);
                    $lastDay++;
                    for (; $lastDay < $day; $lastDay++)
                    {
                        $amount_xml .= "<set value='0' />";
                    }
                }
                $amount_xml .= "<set value='$val[order_amount]' />";
                $lastDay = $day;
            }
 
            $amount_xml .= "</dataset>";
        }
 
        $amount_xml .= "<categories>";
 
        for ($i = 1;$i<=31;$i++)
        {
            $amount_xml .= "<category label='$i' />";
        }
        $amount_xml .= "</categories>";
        $amount_xml .= "</graph>";
    }
 
    /* ------------------------------------- */
    /* -- 状态
    /* ------------------------------------- */
    $status_xml  = '';
 
    if(!$is_multi)
    {
        $status_xml .= "<graph caption='".$_LANG['status_stats']."' shownames='1' showvalues='1' decimalPrecision='2' outCnvBaseFontSize='13' baseFontSize='13' pieYScale='45'  pieBorderAlpha='40' pieFillAlpha='70' pieSliceDepth='15' pieRadius='100' bgAngle='460'>";
 
        $sql = "SELECT COUNT(*) AS order_count, ebay_status FROM " . $ecs->table('erp_ebay_order') .
                " WHERE created_time >= '$start_date' AND created_time < " .($end_date + 86400).
                " GROUP BY ebay_status ORDER BY order_count DESC LIMIT 20";
        $res = $db->query($sql);
 
        $key = 0;
        while ($val = $db->fetchRow($res))
        {
            $ebay_status = empty($val['ebay_status']) ? 'no data' : $val['ebay_status'];
 
            $status_xml .= "<set name='$ebay_status' value='$val[order_count]' color='" .chart_color($key). "' />";
            $key++;
        }
        $status_xml .= '</graph>';
    }
    else
    {
        $where = '';
        foreach($start_date_arr AS $k => $val)
        {
            if ($where != '')
            {
                $where .= ' or ';
            }
            $where .= "(created_time >= '$start_date_arr[$k]' AND created_time <= " .($end_date_arr[$k] + 86400).")";
        }
        $sql = "SELECT created_time, ebay_status FROM " . $ecs->table('erp_ebay_order') .
                " WHERE $where";
        $res = $db->query($sql);
        $area_arr = array();
        while ($val = $db->fetchRow($res))
        {
           $date = local_date('Y-m', $val['created_time']);
           $area_arr[$val['ebay_status']] = null;
 
           if (isset($category[$date][$val['ebay_status']]))
           {
               $category[$date][$val['ebay_status']]++;
           }
           else
           {
               $category[$date][$val['ebay_status']] = 1;
           }
        }
        $status_xml = "<chart palette='2' caption='$_LANG[status_stats]' shownames='1' showvalues='0' numberPrefix='' useRoundEdges='1' legendBorderAlpha='0' outCnvBaseFontSize='13' baseFontSize='13'>";
        $status_xml .= "<categories>";
        foreach ($area_arr AS $k => $v)
        {
            $status_xml .= "<category label='$k'/>";
        }
        $status_xml .= "</categories>";
        $key = 0;
        foreach($start_date_arr AS $val)
        {
            $key++;
            $date = local_date('Y-m', $val);
            $status_xml .= "<dataset seriesName='$date' color='" .chart_color($key). "' showValues='0'>";
 
            foreach ($area_arr AS $k => $v)
            {
                if (isset($category[$date][$k]))
                {
                    $status_xml .= "<set value='" .$category[$date][$k]. "'/>";
                }
                else
                {
                    $status_xml .= "<set value='0'/>";
                }
            }
            $status_xml .= "</dataset>";
        }
        $status_xml .= "</chart>";
    }
 
    /* 模板赋值 */
    $smarty->assign('ur_here',      $_LANG['01_erp_order_stats']);
    $smarty->assign('general_data', $general_xml);
    $smarty->assign('amount_data',  $amount_xml);
    $smarty->assign('status_data',  $status_xml);
    $smarty->assign('is_multi',     $is_multi);
 
    /* 显示日期 */
    $smarty->assign('start_date',   local_date('Y-m-d', $start_date));
    $smarty->assign('end_date',     local_date('Y-m-d', $end_date));
 
    for ($i = 0; $i < 5; $i++)
    {
        if (isset($start_date_arr[$i]))
        {
            $start_date_arr[$i] = local_date('Y-m', $start_date_arr[$i]);
        }
        else
        {
            $start_date_arr[$i] = null;
        }
    }
    $smarty->assign('start_date_arr', $start_date_arr);
 
    if (!$is_multi)
    {
        $filename = gmdate($_CFG['date_format'], $start_date + $timezone * 3600 + 86400) . '_' .
                    gmdate($_CFG['date_format'], $end_date + $timezone * 3600 + 86400);
 
        $smarty->assign('action_link',  array('text' => $_LANG['down_order_stats'],
          'href'=>'erp_ebay_order_stats.php?act=download&filename=' . $filename .
            '&start_date=' . $start_date . '&end_date=' . $end_date));
    }
 
    /* 显示页面 */
    assign_query_info();
    $smarty->display('erp_ebay_order_stats.htm');
}
 
/* 报表下载 */
elseif ($act = 'download')
{
    admin_priv('download_order_stats'); //检查权限
 
    $filename = !empty($_REQUEST['filename']) ? trim($_REQUEST['filename']) : '';
 
    header("Content-type: application/vnd.ms-excel; charset=utf-8");
    header("Content-Disposition: attachment; filename=$filename.xls");
    $start_date = empty($_GET['start_date']) ? strtotime('-20 day') : intval($_GET['start_date']);
    $end_date   = empty($_GET['end_date']) ? time() : intval($_GET['end_date']);
 
    //综合订单量统计
    $sql = "SELECT FLOOR((created_time - $start_date) / (24 * 3600)) AS sn, created_time, COUNT(*) AS order_count, SUM(subtotal) AS order_amount".
                " FROM " . $GLOBALS['ecs']->table('erp_ebay_order') .
                " WHERE created_time >= '$start_date' AND created_time <= " .($end_date + 86400) . " AND ebay_status = 'Complete'".
                " GROUP BY sn";
    $res = $GLOBALS['db']->query($sql);
 
    $data .= $_LANG['date'] . "t";
    $data .= $_LANG['order_count'] . "t";
    $data .= $_LANG['order_amount'] . "tn";
 
    while ($val = $GLOBALS['db']->fetchRow($res))
    {
        $val['created_date'] = gmdate($_CFG['date_format'], $val['created_time'] +  $timezone * 3600 + 86400);
        $data .= $val['created_date'] . "t";
        $data .= $val['order_count'] . "t";
        $data .= price_format($val['order_amount']) . "tn";
 
        $total_count += $val['order_count'];
        $total_amount += $val['order_amount'];
    }
 
    $data .= $_LANG['total'] . "t";
    $data .= $total_count . "t";
    $data .= price_format($total_amount) . "tn";
 
    //状态统计
    $sql = "SELECT COUNT(*) AS order_count, SUM(subtotal) AS order_amount, ebay_status FROM " . $GLOBALS['ecs']->table('erp_ebay_order') .
            " WHERE created_time >= '$start_date' AND created_time <= " .($end_date + 86400).
            " GROUP BY ebay_status ORDER BY order_count DESC LIMIT 20";
 
    $res = $GLOBALS['db']->query($sql);
 
    $data .= "tn";
    $data .= $_LANG['order_status'] . "t";
    $data .= $_LANG['order_count'] . "t";
    $data .= $_LANG['order_amount'] . "tn";
 
    while ($val = $GLOBALS['db']->fetchRow($res))
    {
        $data .= $val['ebay_status'] . "t";
        $data .= $val['order_count'] . "t";
        $data .= price_format($val['order_amount']) . "tn";
    }
 
    if (EC_CHARSET != 'UTF-8')
    {
        echo ecs_iconv(EC_CHARSET, 'UTF-8', $data) . "t";
    }
    else
    {
        echo $data. "t";
    }
}
 
?>

二、语言文件/languages/zh_cn/admin/erp_ebay_statistic.php

 

 代码如下 复制代码
<?php
 
 
/* 订单综合统计 */
$_LANG['tab_general'] = '综合订单量';
$_LANG['tab_amount'] = '销售额';
$_LANG['tab_status'] = '状态';
 
$_LANG['general_stats'] = '综合订单量统计';
$_LANG['amount_stats'] = '销售额统计';
$_LANG['status_stats'] = '状态统计';
 
$_LANG['date'] = '日期';
$_LANG['order_status'] = '状态';
$_LANG['order_count'] = '订单量(个)';
$_LANG['order_amount'] = '销售额';
$_LANG['total'] = '合计';
$_LANG['down_order_stats'] = '订单报表下载';
 
/* 买家排行 */
$_LANG['order_by'] = '排行';
$_LANG['buyer_id'] = '买家';
$_LANG['buyer_email'] = '邮箱';
$_LANG['buyer_phone'] = '电话';
$_LANG['country'] = '国家';
$_LANG['order_count'] = '订单数';
$_LANG['amount_sum'] = '购物金额';
$_LANG['created_time'] = '下单时间';
 
$_LANG['show_num'] = '显示数量';
$_LANG['order_amount_sort'] = '按订单数量排序';
$_LANG['download_amount_sort'] = '排行报表下载';
 
/* 公用 */
$_LANG['query'] = '查询';
$_LANG['start_date'] = '开始日期';
$_LANG['end_date'] = '结束日期';
$_LANG['date_interval'] = '日期';
$_LANG['year_month'] = '年月';
?>

三、模板文件/admin/templates/erp_ebay_order_stats.htm

 代码如下 复制代码

{include file="pageheader.htm"}
<script type="text/javascript" src="../js/calendar.php?lang={$cfg_lang}"></script>
<link href="../js/calendar/calendar.css" rel="stylesheet" type="text/css" />
<div class="form-div">
  <form action="" method="post" id="selectForm" name="selectForm">
    {$lang.date_interval}&nbsp;&nbsp;
    <input name="start_date" value="{$start_date}" style="width:80px;" onclick="return showCalendar(this, '%Y-%m-%d', false, false, this);" />
    --
    <input name="end_date" value="{$end_date}" style="width:80px;" onclick="return showCalendar(this, '%Y-%m-%d', false, false, this);" />
    <input type="submit" name="submit" value="{$lang.query}" class="button" />
  </form>
    <form action="" method="post" id="selectForm" name="selectForm">
    {$lang.year_month}&nbsp;&nbsp;
    <!--{foreach from=$start_date_arr item=start_date key=k}-->
    {if $k > 0}
    &nbsp;+&nbsp;
    {/if}
    <input name="year_month[]" value="{$start_date}" style="width:60px;" onclick="return showCalendar(this, '%Y-%m', false, false, this);" />
    <!--{/foreach}--><input type="hidden" name="is_multi" value="1" />
    <input type="submit" name="submit" value="{$lang.query}" class="button" />
  </form>
</div>
<div class="tab-div">
    <!-- tab bar -->
    <div id="tabbar-div">
      <p>
        <span class="tab-front" id="general-tab">{$lang.tab_general}</span>
  <span class="tab-back" id="amount-tab">{$lang.tab_amount}</span>
  <span class="tab-back" id="status-tab">{$lang.tab_status}</span>
      </p>
    </div>

    <!-- tab body -->
    <div id="tabbody-div">
        <!-- 综合订单量 -->
        <table width="90%" id="general-table">
          <tr><td align="center">
            <!--{if $is_multi eq "0"}-->
            <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
              codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
              width="565" height="420" id="FCColumn2" align="middle">
              <PARAM NAME="FlashVars" value="&dataXML={$general_data}">
              <PARAM NAME=movie VALUE="images/charts/line.swf?chartWidth=800&chartHeight=400">
              <param NAME="quality" VALUE="high">
              <param NAME="bgcolor" VALUE="#FFFFFF">
              <param NAME="wmode" VALUE="opaque">
              <embed src="images/charts/line.swf?chartWidth=800&chartHeight=400" FlashVars="&dataXML={$general_data}" quality="high" bgcolor="#FFFFFF"  width="800" height="400" name="FCColumn2" wmode="opaque" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">
            </object>
            <!--{else}-->
            <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
              codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
              width="565" height="420" id="FCColumn2" align="middle">
              <PARAM NAME="FlashVars" value="&dataXML={$general_data}">
              <PARAM NAME=movie VALUE="images/charts/MSline.swf?chartWidth=800&chartHeight=400">
              <param NAME="quality" VALUE="high">
              <param NAME="bgcolor" VALUE="#FFFFFF">
              <param NAME="wmode" VALUE="opaque" />
              <embed src="images/charts/MSline.swf?chartWidth=800&chartHeight=400" FlashVars="&dataXML={$general_data}" quality="high" bgcolor="#FFFFFF"  width="800" height="400" name="FCColumn2" wmode="opaque" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">
            </object>
            <!--{/if}-->
          </td></tr>
        </table>

        <!-- 销售额 -->
        <table width="90%" id="amount-table" style="display:none">
          <tr><td align="center">
            <!--{if $is_multi eq "0"}-->
            <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
              codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
              width="565" height="420" id="FCColumn2" align="middle">
              <PARAM NAME="FlashVars" value="&dataXML={$amount_data}">
              <PARAM NAME=movie VALUE="images/charts/line.swf?chartWidth=800&chartHeight=400">
              <param NAME="quality" VALUE="high">
              <param NAME="bgcolor" VALUE="#FFFFFF">
              <param NAME="wmode" VALUE="opaque">
              <embed src="images/charts/line.swf?chartWidth=800&chartHeight=400" FlashVars="&dataXML={$amount_data}" quality="high" bgcolor="#FFFFFF"  width="800" height="400" name="FCColumn2" wmode="opaque" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">
            </object>
            <!--{else}-->
            <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
              codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
              width="565" height="420" id="FCColumn2" align="middle">
              <PARAM NAME="FlashVars" value="&dataXML={$amount_data}">
              <PARAM NAME=movie VALUE="images/charts/MSline.swf?chartWidth=800&chartHeight=400">
              <param NAME="quality" VALUE="high">
              <param NAME="bgcolor" VALUE="#FFFFFF">
              <param NAME="wmode" VALUE="opaque" />
              <embed src="images/charts/MSline.swf?chartWidth=800&chartHeight=400" FlashVars="&dataXML={$amount_data}" quality="high" bgcolor="#FFFFFF"  width="800" height="400" name="FCColumn2" wmode="opaque" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">
            </object>
            <!--{/if}-->
          </td></tr>
        </table>

        <!-- 状态 -->
        <table width="90%" id="status-table" style="display:none">
          <tr><td align="center">
          <!--{if $is_multi eq "0"}-->
            <OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"  codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="465" HEIGHT="320" id="General" ALIGN="middle">
              <PARAM NAME="FlashVars" value="&dataXML={$status_data-tab}">
              <PARAM NAME=movie VALUE="images/charts/pie3d.swf?chartWidth=800&chartHeight=400">
              <PARAM NAME=quality VALUE=high>
              <PARAM NAME=bgcolor VALUE=#FFFFFF>
              <param NAME="wmode" VALUE="opaque" />
              <EMBED src="images/charts/pie3d.swf?chartWidth=800&chartHeight=400" FlashVars="&dataXML={$status_data}" quality=high bgcolor=#FFFFFF WIDTH="800" HEIGHT="400" NAME="General" ALIGN="middle"  wmode="opaque" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED>
              </OBJECT>
          <!--{else}-->
              <OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"  codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="465" HEIGHT="320" id="General" ALIGN="middle">
                <PARAM NAME="FlashVars" value="&dataXML={$status_data}">
                <PARAM NAME=movie VALUE="images/charts/ScrollColumn2D.swf?chartWidth=800&chartHeight=400">
                <PARAM NAME=quality VALUE=high>
                <PARAM NAME=bgcolor VALUE=#FFFFFF>
                <param NAME="wmode" VALUE="opaque" />
                <EMBED src="images/charts/ScrollColumn2D.swf?chartWidth=800&chartHeight=400" FlashVars="&dataXML={$status_data}" quality=high bgcolor=#FFFFFF WIDTH="800" HEIGHT="400" NAME="General"  wmode="opaque" ALIGN="middle" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED>
                </OBJECT>
          <!--{/if}-->
          </td></tr>
        </table>
    </div>
</div>

{insert_scripts files="tab.js"}
<script type="Text/Javascript" language="JavaScript">
<!--
onload = function()
{
  // 开始检查订单
  startCheckOrder();
}
//-->

</script>
{include file="pagefooter.htm"}

本例子要告诉你几种处理办法,一是用js 或者是jquery遍历判断,另一种是传给php之后利用tmp_name值来判断,方法都简单下面我们一起来看看。

单个表单时

 代码如下 复制代码


<form action="?" method="post" enctype='multipart/form-data'>
文件上传:<input type="file" name="file" id="file" />
<input type="submit" id="send" value="提交" />
</form>


<?php
//判断pic文件框是否已经选择文件
if (!empty($_FILES['file']['tmp_name'])) {
echo '已选择文件';
}else {
echo '请选择文件';
}
//PS:$_FILES后面的['tmp_name']一定不要忘写,它表示是一个临时的意思
?>

当然这个可以先用JS去判断一下,方法如下:

 代码如下 复制代码

<script>
var send=document.getElementById("send");
send.onclick=function() {
var file=document.getElementById("file").value;
if (file.length<1) {
alert('请选择图片');
return false;
}
}
</script>

多文件上传时


表单中有多个<input type="file" name="uploadfile" contentEditable="false" style="width:80%">,
提交表单时需要判断其中至少要有一个input已经选择好文件。

 代码如下 复制代码

<input type="file" name="uploadfile" contentEditable="false" style="width:80%"><br>
<input type="file" name="uploadfile" contentEditable="false" style="width:80%"><br>
<input type="file" name="uploadfile" contentEditable="false" style="width:80%"><br>
<input type="file" name="uploadfile" contentEditable="false" style="width:80%"><br>
<input type="file" name="uploadfile" contentEditable="false" style="width:80%">

使用jQuery进行判断:

 代码如下 复制代码

var fileFlag = false;
$("input[name='uploadfile']").each(function(){
if($(this).val()!="") {
fileflag = true;
return false;
}
});
if(fileFlag) {
alert("已有选择好文件的");
}

只要fileFlag为true,就可以退出each循环,不需要再对剩下的input进行判断。
在each中使用return false退出循环,使用return true结束当前次循环,进行下一次循环。

[!--infotagslink--]

相关文章

  • php生成二维码中文乱码问题解决方法

    最近做了个扫描二维码得到vcard的项目,遇到一个问题,有一部分生成完的二维码,用android系统手机扫描后得到的vcard中的中文姓名是乱码,经过比对发现,这部分vcard中ORG这个...2016-11-25
  • 百度网盟和google网盟推广那种效果好

    专做了百度和google的网盟推广以作推广效果的评估比较。百度的周期为6天,google为4天。   从百度的统计数据可以看出这六天的点击次数总共为464,平均点击花费了0.30元...2017-07-06
  • 微信小程序二维码生成工具 weapp-qrcode详解

    这篇文章主要介绍了微信小程序 二维码生成工具 weapp-qrcode详解,教大家如何在项目中引入weapp-qrcode.js文件,通过实例代码给大家介绍的非常详细,需要的朋友可以参考下...2021-10-23
  • php二维码生成

    本文介绍两种使用 php 生成二维码的方法。 (1)利用google生成二维码的开放接口,代码如下: /** * google api 二维码生成【QRcode可以存储最多4296个字母数字类型的任意文本,具体可以查看二维码数据格式】 * @param strin...2015-10-21
  • Java生成随机姓名、性别和年龄的实现示例

    这篇文章主要介绍了Java生成随机姓名、性别和年龄的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-10-01
  • C#生成随机数功能示例

    这篇文章主要介绍了C#生成随机数功能,涉及C#数学运算与字符串操作相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • php生成唯一数字id的方法汇总

    关于生成唯一数字ID的问题,是不是需要使用rand生成一个随机数,然后去数据库查询是否有这个数呢?感觉这样的话有点费时间,有没有其他方法呢?当然不是,其实有两种方法可以解决。 1. 如果你只用php而不用数据库的话,那时间戳+随...2015-11-24
  • jQuery为动态生成的select元素添加事件的方法

    下面小编就为大家带来一篇jQuery为动态生成的select元素添加事件的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-09-01
  • PHP自动生成后台导航网址的最佳方法

    经常制作开发不同的网站的后台,写过很多种不同的后台导航写法。 最终积累了这种最写法,算是最好的吧...2013-09-29
  • 微信开发生成带参数的二维码的讲解

    在微信公众号平台开发者那里,在“账号管理”那里,有一项功能是“生成带参数的二维码”,通过这儿生成的二维码,只要通过微信扫一扫之后,会把事件自动推送到微...2016-05-19
  • js生成随机数的方法实例

    js生成随机数主要用到了内置的Math对象的random()方法。用法如:Math.random()。它返回的是一个 0 ~ 1 之间的随机数。有了这么一个方法,那生成任意随机数就好理解了。比如实际中我们可能会有如下的需要: (1)生成一个 0 - 1...2015-10-21
  • .NET C#利用ZXing生成、识别二维码/条形码

    ZXing是一个开放源码的,用Java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的端口。这篇文章主要给大家介绍了.NET C#利用ZXing生成、识别二维码/条形码的方法,文中给出了详细的示例代码,有需要的朋友们可以参考借鉴。...2020-06-25
  • 浅谈js二维码扫码登录是什么原理

    这篇文章主要介绍了浅谈js二维码扫码登录是什么原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-04-13
  • PHP验证码生成与验证例子

    验证码是一个现在WEB2.0中常见的一个功能了,像注册、登录又或者是留言页面,都需要注册码来验证当前操作者的合法性,我们会看到有些网站没有验证码,但那是更高级的验证了,...2016-11-25
  • PHP生成不同颜色、不同大小的tag标签函数

    复制代码 代码如下:function getTagStyle(){ $minFontSize=8; //最小字体大小,可根据需要自行更改 $maxFontSize=18; //最大字体大小,可根据需要自行更改 return 'font-size:'.($minFontSize+lcg_value()*(abs($maxFo...2013-10-04
  • C#利用QrCode.Net生成二维码(Qr码)的方法

    QrCode.Net是一个使用C#编写的用于生成二维码图片的类库,使用它可以非常方便的为WinForm、WebForm、WPF、Silverlight和Windows Phone 7应用程序提供二维码编码输出功能。可以将二维码文件导出为eps格式...2020-06-25
  • JS生成某个范围的随机数【四种情况详解】

    下面小编就为大家带来一篇JS生成某个范围的随机数【四种情况详解】。小编觉得挺不错的,现在分享给大家,也给大家做个参考,一起跟随小编过来看看吧...2016-04-22
  • 基于Bootstrap的Metronic框架实现条码和二维码的生成及打印处理操作

    这篇文章主要介绍了基于Bootstrap的Metronic框架实现条码和二维码的生成及打印处理操作的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下...2016-09-01
  • php中利用str_pad函数生成数字递增形式的产品编号

    解决办法:$str=”QB”.str_pad(($maxid[0]["max(id)"]+1),5,”0″,STR_PAD_LEFT ); 其中$maxid[0]["max(id)"]+1) 是利用max函数从数据库中找也ID最大的一个值, ID为主键,不会重复。 str_pad() 函数把字符串填充为指...2013-10-04
  • Google会不会取消PR的理由分析

    Google是这样介绍PageRank的:   Google 出类拔萃的地方在于专注开发“完美的搜索引擎”,联合创始人拉里&middot;佩奇将这种搜索引擎定义为可“确解用户...2017-07-06