使用PHP分页`查看购物车'页面

时间:2014-03-14 18:01:33

标签: php session caching pagination shopping-cart

我正在尝试将每页10个结果的PHP页面分页。目前,该页面一次显示所有结果。我确实查了一些关于分页的教程,但我似乎无法弄清楚如何将它们实现到当前的PHP页面中。 PHP页面名为view_cart.php,它基本上检索用户通过购物车页面添加的缓存产品,并在此页面上显示。我正在寻找一些提示,指出我正确的方向,而不是有人为我做我的工作。

这是view_cart.php网页代码:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>

<body>
<?php
session_start();
include_once("config.php");
    if(isset($_SESSION["products"]))
    {
        $total = 0;
        echo '<form method="post" action="PAYMENT-GATEWAY">';
        echo '<ul>';
        $cart_items = 0;
        foreach ($_SESSION["products"] as $cart_itm)
        {
           $product_code = $cart_itm["code"];
           $queryy = "SELECT TOP 1 product_name,product_desc, price FROM products WHERE product_code='$product_code'";
           $results = mssql_query($queryy, $mysqli);
           $obj = mssql_fetch_object($results);

            echo '<li class="cart-itm">';
            echo '<span class="remove-itm"><a href="cart_update.php?removep='.$cart_itm["code"].'&return_url='.$current_url.'">&times;</a></span>';
            echo '<div class="p-price">'.$currency.$obj->price.'</div>';
            echo '<div class="product-info">';
            echo '<h3>'.$obj->product_name.' (Code :'.$product_code.')</h3> ';
            echo '<div class="p-qty">Qty : '.$cart_itm["qty"].'</div>';
            echo '<div>'.$obj->product_desc.'</div>';
            echo '</div>';
            echo '</li>';
            $subtotal = ($cart_itm["price"]*$cart_itm["qty"]);
            $total = ($total + $subtotal);

            echo '<input type="hidden" name="item_name['.$cart_items.']" value="'.$obj->product_name.'" />';
            echo '<input type="hidden" name="item_code['.$cart_items.']" value="'.$product_code.'" />';
            echo '<input type="hidden" name="item_desc['.$cart_items.']" value="'.$obj->product_desc.'" />';
            echo '<input type="hidden" name="item_qty['.$cart_items.']" value="'.$cart_itm["qty"].'" />';
            $cart_items ++;

        }
        echo '</ul>';
        echo '<span class="check-out-txt">';
        echo '<strong>Total : '.$currency.$total.'</strong>  ';
        echo '</span>';
        echo '</form>';
        echo '<a href="checkout.php">Checkout</a>';

    }else{
        echo 'Your Cart is empty';
    }


?>
<?php
date_default_timezone_set('America/Edmonton');
?>
<?php echo date("D M d, Y G:i a"); ?>
</body>
</html>

这是config.php网页代码:

<?php
$mysqli = mssql_connect('gd','Gad','Rdgaf!');  
$objConnectee = mssql_select_db('Gdaddf',$mysqli ); 
?>

感谢您的帮助。感谢所有帮助。

1 个答案:

答案 0 :(得分:1)

  1. 您将拥有网址参数:start and count。
  2. 在sql查询中使用它们,例如LIMIT $_GET['start'], $_GET['count']
  3. 最后一件事是渲染到“下一页”和“上一页”页面的链接。 (以及“第一”,“最后”,1,2,3,4 ......)。这些链接将包括参数start和count。
  4. 例如,“下一步”链接将包含带参数的网址:

    "view_cart.php?start=" . ($_GET['start'] + $_GET['count']) . "&count=" . $_GET['count']
    

    注意总记录数不会溢出。