ecshop会员中心增加订单搜索功能

2009-09-07 16:14 来源:www.chinab4c.com 作者: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'";
 }

以上步骤,就完成了ecshop会员中心订单搜索功能。

相关文章:

 在ecshop前台显示ecshop订单

ecshop中订单结构的详细分

ecshop订单管理分析

ecshop如何在首页显示最近

来源:中国B4C电子商务