php+ajax实现select分类二级菜单效果

 更新时间:2016年11月25日 15:42  点击:1736
今天公司要做一个提问的功能全部使用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 否则后果自负

在这里本文章重点来给大家介绍利用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了。

给各位同学整理了一个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结束当前次循环,进行下一次循环。

本文章这里给各位整理了几个非常不错的加密,解密例子,希望这些例子来给你工作带来帮助。

加密就是将一些字符转换为另一个字符串的过程,简单的说就是把大门上锁,并且只有你有开启的钥匙。作为一个程序员都应该有属于自己的加密方式,目前最流行的加密算法就是MD5()加密方式。但是在网站已经有了破解的软件用起来也不是很安全。下面简单的介绍一下自定义的加密函数。

 代码如下 复制代码

“/*加密*/

function addcoder($str)

    {

        $yuan = 'abA!c1dB#ef2@Cg$h%iD_3jkl^E:m}4n.o{&F*p)5q(G-r[sH]6tuIv7w+Jxy8z9K0';

        $jia = 'zAy%0Bx+1C$wDv^Eu2-t3(F{sr&G4q_pH5*on6I)m:l7.Jk]j8K}ih@gf9#ed!cb[a';

       if ( strlen($str) == 0) return false;

for($i = 0;$i<strlen($str);$i++)

        {

            for($j = 0;$j<strlen($yuan);$j++)                         

{

if($str[$i]==$yuan[$j])

                    {

$results.= $jia[$j];

break;

}

            }

        }

       return $results;

    }

 


/*解密*/

function removecoder($str)

{

        $yuan = 'abA!c1dB#ef2@Cg$h%iD_3jkl^E:m}4n.o{&F*p)5q(G-r[sH]6tuIv7w+Jxy8z9K0';

        $jia = 'zAy%0Bx+1C$wDv^Eu2-t3(F{sr&G4q_pH5*on6I)m:l7.Jk]j8K}ih@gf9#ed!cb[a';

       If (strlen($str)==0) return false;

  for($i = 0;$i< strlen($str);$i++)

{

 for($j = 0;$j<strlen($jia);$j++)

  {

  if($str[$i]==$jia[$j]) 

{

$results .= $yuan[$j];

break;

}

  }

}

       return $results;

    }

$str = "www.111cn.net";
echo "加密前:".$str."<br >";
$str1= addcoder($str);
echo "加密后:".$str1."<br >";
$str2= removecoder($str1);
echo "解密后:".$str2."<br >";

例子二,利用md5+base64_encode进行编辑处理。

 代码如下 复制代码

<?php
//www.111cn.net
function passport_encrypt($txt, $key) {
srand((double)microtime() * 1000000);
$encrypt_key = md5(rand(0, 32000));
$ctr = 0;
$tmp = '';
for($i = 0;$i < strlen($txt); $i++) {
$ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;
$tmp .= $encrypt_key[$ctr].($txt[$i] ^ $encrypt_key[$ctr++]);
}
return base64_encode(passport_key($tmp, $key));
}
function passport_decrypt($txt, $key) {
$txt = passport_key(base64_decode($txt), $key);
$tmp = '';
for($i = 0;$i < strlen($txt); $i++) {
$md5 = $txt[$i];
$tmp .= $txt[++$i] ^ $md5;
}
return $tmp;
}
function passport_key($txt, $encrypt_key) {
$encrypt_key = md5($encrypt_key);
$ctr = 0;
$tmp = '';
for($i = 0; $i < strlen($txt); $i++) {
$ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;
$tmp .= $txt[$i] ^ $encrypt_key[$ctr++];
}
return $tmp;
}
?>

[!--infotagslink--]

相关文章

  • Mybatis Plus select 实现只查询部分字段

    这篇文章主要介绍了Mybatis Plus select 实现只查询部分字段的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-01
  • vue 监听 Treeselect 选择项的改变操作

    这篇文章主要介绍了vue 监听 Treeselect 选择项的改变操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-09-01
  • jQuery实现非常实用漂亮的select下拉菜单选择效果

    本文实例讲述了jQuery实现非常实用漂亮的select下拉菜单选择效果。分享给大家供大家参考,具体如下:先来看如下运行效果截图:在线演示地址如下:http://demo.jb51.net/js/2015/js-select-chose-style-menu-codes/具体代码如...2015-11-08
  • JS基于Mootools实现的个性菜单效果代码

    本文实例讲述了JS基于Mootools实现的个性菜单效果代码。分享给大家供大家参考,具体如下:这里演示基于Mootools做的带动画的垂直型菜单,是一个初学者写的,用来学习Mootools的使用有帮助,下载时请注意要将外部引用的mootools...2015-10-23
  • Mysql select语句设置默认值的方法

    1.在没有设置默认值的情况下: 复制代码 代码如下:SELECT userinfo.id, user_name, role, adm_regionid, region_name , create_timeFROM userinfoLEFT JOIN region ON userinfo.adm_regionid = region.id 结果:...2014-05-31
  • vue treeselect获取当前选中项的label实例

    这篇文章主要介绍了vue treeselect获取当前选中项的label实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-09-01
  • JS实现的简洁纵向滑动菜单(滑动门)效果

    本文实例讲述了JS实现的简洁纵向滑动菜单(滑动门)效果。分享给大家供大家参考,具体如下:这是一款纵向布局的CSS+JavaScript滑动门代码,相当简洁的手法来实现,如果对颜色不满意,你可以试着自己修改CSS代码,这个滑动门将每一...2015-10-21
  • JS+CSS实现分类动态选择及移动功能效果代码

    本文实例讲述了JS+CSS实现分类动态选择及移动功能效果代码。分享给大家供大家参考,具体如下:这是一个类似选项卡功能的选择插件,与普通的TAb区别是加入了动画效果,多用于商品类网站,用作商品分类功能,不过其它网站也可以用,...2015-10-21
  • vue Treeselect下拉树只能选择第N级元素实现代码

    这篇文章主要介绍了vue Treeselect下拉树只能选择第N级元素实现代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-09-01
  • Vue select 绑定动态变量的实例讲解

    这篇文章主要介绍了Vue select 绑定动态变量的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-10-23
  • jQuery实现有动画淡出效果的二级折叠菜单代码

    本文实例讲述了jQuery实现有动画淡出效果的二级折叠菜单代码。分享给大家供大家参考,具体如下:这里介绍jQuery实现有动画淡出效果的二级折叠菜单代码,相当不错,因考虑功能的实现,所以没有怎么美化,不过这样也好,可以给大家更...2015-10-21
  • jQuery实现下拉菜单滑动效果

    这篇文章主要为大家详细介绍了jQuery实现下拉菜单滑动效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-08-09
  • PHP实现无限级分类(不使用递归)

    无限级分类在开发中经常使用,例如:部门结构、文章分类。无限级分类的难点在于“输出”和“查询”,例如 将文章分类输出为<ul>列表形式; 查找分类A下面所有分类包含的文章。1.实现原理 几种常见的实现方法,各有利弊。其中...2015-10-23
  • PHP实现递归无限级分类

    在一些复杂的系统中,要求对信息栏目进行无限级的分类,以增强系统的灵活性。那么PHP是如何实现无限级分类的呢?我们在本文中使用递归算法并结合mysql数据表实现无限级分类。 递归,简单的说就是一段程序代码的重复调用,当把...2015-10-23
  • MySQL中SELECT+UPDATE处理并发更新问题解决方案分享

    问题背景: 假设MySQL数据库有一张会员表vip_member(InnoDB表),结构如下: 当一个会员想续买会员(只能续买1个月、3个月或6个月)时,必须满足以下业务要求: &#8226;如果end_at早于当前时间,则设置start_at为当前时间,end_at为当前时...2014-05-31
  • ecshop商品无限级分类代码

    ecshop商品无限级分类代码 function cat_options($spec_cat_id, $arr) { static $cat_options = array(); if (isset($cat_options[$spec_cat_id]))...2016-11-25
  • jQuery实现可关闭固定于底(顶)部的工具条菜单效果

    本文实例讲述了jQuery实现可关闭固定于底(顶)部的工具条菜单效果。分享给大家供大家参考,具体如下:这是一款可关闭始终在页面底部的工具条菜单,浮动在页面顶部的大家见的比较多了,本款从形式上来说与其它的没什么差别,只是浮...2015-11-08
  • jQuery+PHP+MySQL二级联动下拉菜单实例讲解

    二级联动下拉菜单选择应用在在很多地方,比如说省市下拉联动,商品大小类下拉选择联动。本文将通过实例讲解使用jQuery+PHP+MySQL来实现大小分类二级下拉联动效果。 实现效果:当选择大类时,小类下拉框里的选项内容也随着改...2015-10-30
  • jQuery为动态生成的select元素添加事件的方法

    下面小编就为大家带来一篇jQuery为动态生成的select元素添加事件的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-09-01
  • javascript获取select标签选中的值

    这篇文章主要介绍javascript获取select标签选中的值方法,比较实用,需要的朋友可以参考下。...2016-06-12