SELECT COUNT结果php的下拉菜单过滤器

时间:2013-06-20 03:02:20

标签: php mysql sql select filter

我有一个脚本可以检索销售清单(npc_sales_list)中的所有数据行,但我要做的是设置一个下拉菜单,用于过滤结果o我不知道从哪里开始什么时候做任何PHP。

我想要做的主要过滤器是查看上个月的销售额(npc_entry_date)和销售类型(npc_usertype)。如果有人可以指出我正确的方向或向我展示一些非常好的资源链接。

我不会讨论过滤器是自动的还是需要点击提交按钮。欢迎任何建议......

        <?php 
        require_once ('./includes/config.inc.php');
        $page_title = 'Page title';
        include ('./includes/header.html');

        if (!isset($_SESSION['admin_sp_id'])) {
           $url = 'http://' . $_SERVER['HTTP_HOST']
            . dirname($_SERVER['PHP_SELF']);
           if ((substr($url, -1) == '/') OR (substr($url, -1) == '\\') ) {
                $url = substr ($url, 0, -1); 
           }
           $url .= '/login.php'; 

        ob_end_clean(); 
        header("Location: $url"); 
        exit(); 
        }

        require_once ('database.php');
        $display = 500;

        if (isset($_GET['np'])) { 
            $num_pages = $_GET['np'];
        } else { 

            $query = "SELECT COUNT(*) FROM npc_sales_list ORDER BY npc_entry_date DESC";   
            $result = @mysql_query ($query);
            $row = mysql_fetch_array ($result, MYSQL_NUM);
            $num_records = $row[0];

            if ($num_records > $display) { 
               $num_pages = ceil ($num_records/$display);
            } else {
               $num_pages = 1;
            }

        } 
        if (isset($_GET['s'])) {
            $start = $_GET['s'];
        } else {
            $start = 0;
        }
        $link1 = "{$_SERVER['PHP_SELF']}?sort=fna";
        $link2 = "{$_SERVER['PHP_SELF']}?sort=lna";

        if (isset($_GET['sort'])) {

            switch ($_GET['sort']) {
               case 'fna':
                  $order_by = 'sp_firstname ASC';
                  $link1 = "{$_SERVER['PHP_SELF']}?sort=fnd";
                  break;
               case 'fnd':
                  $order_by = 'sp_firstname DESC';
                  $link1 = "{$_SERVER['PHP_SELF']}?sort=fna";
                  break;
               case 'lna':
                  $order_by = 'sp_surname ASC';
                  $link2 = "{$_SERVER['PHP_SELF']}?sort=lnd";
                  break;
               case 'lnd':
                  $order_by = 'sp_surname DESC';
                  $link2 = "{$_SERVER['PHP_SELF']}?sort=lna";
                  break;
               default:
                  $order_by = 'npc_entry_date DESC';
                  break;
            }

            // $sort will be appended to the pagination links.
            $sort = $_GET['sort'];

        } else { // Use the default sorting order.
            $order_by = 'npc_entry_date DESC';
            $sort = 'drd';
        }

        $query = "SELECT us.sp_firstname , us.sp_surname , us.sp_amb_club_no , us.sp_position_title , us.sp_dealer_name , 
            us.sp_dealer_code , us.sp_region , us.sp_department, sp_business_phone, us.sp_mobile_phone , us.sp_dealer_category, us.sp_email, 
            sa.npc_item_id , sa.npc_part_no, sa.npc_quantity, sa.npc_customer_name, sa.npc_registration_no , sa.npc_suo_no , sa.npc_amb_club_no , sa.npc_repair_order , sa.npc_invoice_no , 
            sa.npc_entry_userdate, sa.npc_image_upload, sa.npc_usertype, sa.npc_points, sa.npc_bonus_points, sa.npc_active, sa.npc_entry_date, 
            DATE_FORMAT(sa.npc_entry_date, '%d-%m-%Y') AS dr , sa.sp_user_id 
            FROM sp_user AS us, npc_sales_list AS sa 
            WHERE us.sp_user_id = sa.sp_user_id
            ORDER BY
            $order_by LIMIT $start, $display";

        $result = @mysql_query ($query); 

        // <a href="' . $link4 . '"></a>
        // Table header.
        echo '<table width="100%" cellspacing="1" cellpadding="4" style="font-size:10px;">
            <tr>
            <td align="center"><b>Invoice No.</b></td>
            <td align="center"><a href="' . $link1 . '"><b>Member ID</b></a></td>
            <td align="center"><a href="' . $link2 . '"><b>Surname</b></a></td>
            <td align="center"><b>Part #</b></td>
            <td align="center"><b>Sale Type</b></td>
            <td align="center"><b>Qty</b></td>
            <td align="center"><b>Invoice Date</b></td>
            <td align="center"><b>Customer Rego</b></td>
            <td align="center"><b>Submission Date</b></td>
            <td align="center"><b>Status</b></td>
            </tr>';

        // Fetch and print all the records. echo '<td align="left"><strong>' . $row['sp_invoice_no'] . '</strong></td> ';
        $bg = '#ffffff'; // Set the background color.
        while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
            $bg = ($bg=='#eaeced' ? '#ffffff' : '#eaeced');    
            echo '<tr bgcolor="' . $bg . '">';
            echo '<td align="center"><strong><a href="audit_invoice.php?id=' . $row['npc_item_id'] . '">Details</a></strong></td>  ';
            echo '<td align="center"><strong>' . $row['sp_amb_club_no'] . '</strong></td> ';
            echo '<td align="center"><strong>' . $row['sp_surname'] . '</strong></td> ';
            echo  '<td align="center"> <strong>' . $row['npc_part_no'] . '<strong></td>';
            echo  '<td align="center"> ' . $row['npc_usertype'] . ' </td>';
            echo  '<td align="center"> ' . $row['npc_quantity'] . ' </td>';
            echo '<td align="center"> ' . $row['npc_entry_userdate'] . ' </td>';
            echo '<td align="center"> ' . $row['npc_registration_no'] . ' </td>';
            echo '<td align="center"> ' . $row['dr'] . ' </td>';
            echo '<td align="center" style="color:#5a8e22; font-weight:bold;"> ' . $row['npc_active'] . ' </td>';
            echo  '</tr>
            ';
            }

        echo '</table>';

        mysql_free_result ($result);
        mysql_close();  

        if ($num_pages > 1) {

            echo '<br /><p>';
            $current_page = ($start/$display) + 1;

            if ($current_page != 1) {
               echo '<a href="view-all-sales.php?s=' . ($start - $display) . '&np=' .
                 $num_pages . '&sort=' . $sort .'">Previous</a> ';   
            }
            for ($i = 1; $i <= $num_pages; $i++) {
               if ($i != $current_page) {
                  echo '<a href="view-all-sales.php?s=' . (($display * ($i - 1))) . 
                    '&np=' . $num_pages . '&sort=' . $sort .'">' . $i . '</a> ';   
               } else {
                  echo $i . ' ';
               }
            }
            if ($current_page != $num_pages) {
               echo '<a href="view-all-sales.php?s=' . ($start + $display) . '&np=' . 
                 $num_pages . '&sort=' . $sort .'">Next</a> ';   
            }
            echo '</p>';
        } 
        include ('./includes/footer_admin_user.html'); 
        ?>

0 个答案:

没有答案