网站开发 · 2025年4月24日

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

实现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'”;  }