Nov
24

ecshop会员中心订单搜索功能     2009

 11:33    379    0   noel Ecshop/Ecmall/Smarty 不指定 | |
ecshop会员中心订单搜索功能

在user.php中的act=order_list中增加以下程序。


$order_sn = isset($_REQUEST['order_sn'])?$_REQUEST['order_sn']:'';
$consignee = isset($_REQUEST['consignee'])?$_REQUEST['consignee']:'';
$start_date = isset($_REQUEST['start_date'])?$_REQUEST['start_date']:'';
$end_date = isset($_REQUEST['end_date'])?$_REQUEST['end_date']:'';
$pay_status = isset($_REQUEST['pay_status'])?$_REQUEST['pay_status']:'';
$shipping_status = isset($_REQUEST['shipping_status'])?$_REQUEST['shipping_status']:'';
$order_status = isset($_REQUEST['order_status'])?$_REQUEST['order_status']:'';
$where ="";
if($order_sn){
  $where.=" and order_sn ='$order_sn'";
}
if($consignee){
  $where.=" and consignee = '$$consignee'";
}
if($start_date){
  $t = strtotime($start_date);
  $where.=" and add_time >= $t";
}
if($end_date){
  $t = strtotime($end_date);
  $where.="  and add_time <= $t";
}
if($pay_status && $pay_status!= '-1'){
  $where.=" pay_status = '$pay_status'";
}
if($shipping_status && $shipping_status!= '-1'){
  $where.=" and shipping_status = '$shipping_status'";
}
if($order_status && $order_status!= '-1'){
  $where.=" and order_status = '$order_status'";
}


    $record_count = $db->getOne("SELECT COUNT(*) FROM " .$ecs->table('order_info'). " WHERE user_id = '$user_id' $where");

    $pager  = get_pager('user.php', array('act' => $action,'order_status'=>$order_status,'order_sn'=>$order_sn,'consignee'=>$consignee,'start_date'=>$start_date,'end_date'=>$end_date,'pay_status'=>$pay_status,'shipping_status'=>$shipping_status), $record_count, $page);

    $orders = get_user_orders($user_id, $pager['size'], $pager['start']);
    $merge  = get_user_merge($user_id);
$smarty->assign('os_list', get_status_list('order'));
    $smarty->assign('ps_list', get_status_list('payment'));
    $smarty->assign('ss_list', get_status_list('shipping'));
    $smarty->assign('merge',  $merge);
    $smarty->assign('pager',  $pager);
    $smarty->assign('orders', $orders);
    $smarty->display('user_transaction.dwt');


在分页模板中,传递要查询的参数。

2:模板中增加以下程序。用于搜索表单


<link href="js/calendar/calendar.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="js/calendar.php"></script>

<tr align="center">

            <td bgcolor="#ffffff" colspan="5"><div align="left">订单编号&nbsp;&nbsp;
   <input type="hidden" name="act" value="order_list">
                <input type="text" name="order_sn"><br>
              收货人姓名
              <input type="text" name="consignee">
              <br>
              下单时间&nbsp;&nbsp;&nbsp;<input name="start_date" value="{$start_date}" style="width:80px;" onclick="return showCalendar(this, '%Y-%m-%d', false, false, this);" />
  &nbsp;-
  <input name="end_date" value="{$end_date}" style="width:80px;" onclick="return showCalendar(this, '%Y-%m-%d', false, false, this);" />
            <br>
   订单状态: <select name="order_status" id="select9">
          <option value="-1">请选择</option>
          {html_options options=$os_list selected=-1}
        </select>
      付款状态:       <select name="pay_status" id="select11">
          <option value="-1">请选择</option>
          {html_options options=$ps_list selected=-1}
        </select>
        发货状态:        <select name="shipping_status" id="select10">
          <option value="-1">请选择</option>
          {html_options options=$ss_list selected=-1}
        </select>&nbsp;<input type="submit" value="搜索"></div></td>

          </tr>

3:将以下搜索条件加到搜索函数中去。在includes/lib_transaction.php中ecshop函数get_user_orders()中


$order_sn = isset($_REQUEST['order_sn'])?$_REQUEST['order_sn']:'';
$consignee = isset($_REQUEST['consignee'])?$_REQUEST['consignee']:'';
$start_date = isset($_REQUEST['start_date'])?$_REQUEST['start_date']:'';
$end_date = isset($_REQUEST['end_date'])?$_REQUEST['end_date']:'';
$pay_status = isset($_REQUEST['pay_status'])?$_REQUEST['pay_status']:'';
$shipping_status = isset($_REQUEST['shipping_status'])?$_REQUEST['shipping_status']:'';
$order_status = isset($_REQUEST['order_status'])?$_REQUEST['order_status']:'';
$where ="";
if($order_sn){
  $where.=" and order_sn ='$order_sn'";
}
if($consignee){
  $where.=" and consignee = '$$consignee'";
}
if($start_date){
  $t = strtotime($start_date);
  $where.=" and add_time >= $t";
}
if($end_date){
  $t = strtotime($end_date);
  $where.="  and add_time <= $t";
}
if($pay_status && $pay_status!= '-1'){
  $where.=" pay_status = '$pay_status'";
}
if($shipping_status && $shipping_status!= '-1'){
  $where.=" and shipping_status = '$shipping_status'";
}
if($order_status && $order_status!= '-1'){
  $where.=" and order_status = '$order_status'";
}

作者:noel@ECMall Ecmall二次开发 - PHP技术-
地址:http://www.laohucheng.com/post/406/
版权所有©转载时必须以链接形式注明作者和原始出处及本声明!

Tags: 引用(0)
发表评论
昵称 [注册]
密码 游客无需密码
网址
电邮
打开HTML 打开UBB 打开表情 隐藏 记住我