2016-08-19 39 views
-2

我想学习如何做一个简单的分页..第一次推出(index.php)它的成功, 然后我点击按钮CATEGORIES按类别显示产品,它仍然成功.. 但是,当我点击下一页,比如说第5页,它实际上是跳转到页码5 ,但不是在CATEGORIES中,它回到主页面。我知道这是因为这个回声href ='index.php', ,但我是一个初学者在这里,大约一周前开始使用PHP和JavaScript, 所以我需要你“只是更正我的代码”,请不要给我一堆像JavaScript这样的代码,我只是开始学习。如何通过选择类别来创建分页?

<!--index.php--> 
<!doctype html> 
<?php include ("functions/functions.php"); ?> 
<html> 
<head> 
<link rel="stylesheet" href="styles/style.css" type="text/css" media="all" /> 
</head> 
<body> 

    <!--NAV BUTTON-BY CATEGORY--> 
    <ul id="cats"> 
     <?php getCats(); ?> 
    </ul> 

    <!--SHOWING PRODUCTS--> 
    <div id="wrapper"> 
     <?php getPro(); ?> <!--FIRST LAUNCH (index.php)--> 
     <?php getCatPro(); ?> <!--GETTING THE PRODUCTS BY CATEGORIES--> 
    </div> 

</body> 
</html> 



//functions.php 
<?php 
$con = mysqli_connect("localhost","root","","justLearning"); 
if (mysqli_connect_errno()) 
    { 
    echo "The connection was not established: " . mysqli_connect_error(); 
    } 

//GETTING THE CATEGORIES (
function getCats(){ 
    global $con; 
    $get_cats = "select * from categories"; 
    $run_cats = mysqli_query($con, $get_cats); 
    while ($row_cats=mysqli_fetch_array($run_cats)){ 
     $cat_id = $row_cats['cat_id']; 
     $cat_title = $row_cats['cat_title']; 
    echo "<li><button><a href='index.php?cat=$cat_id'>$cat_title</a></button></li>"; 
    } 
} 

//FIRST LAUNCH (index.php) 
function getPro(){ 
    if(!isset($_GET['cat'])){ 
    if(!isset($_GET['brand'])){ 
     global $con; 
     $per_page=9; 
     if (isset($_GET["page"])) { 
     $page = $_GET["page"]; 
     } 
     else { 
     $page=1; 
     } 
     $start_from = ($page-1) * $per_page; 
     $query = "SELECT * FROM products ORDER BY product_id DESC LIMIT $start_from, $per_page"; 
     $result = mysqli_query ($con, $query); 
     while ($row = mysqli_fetch_array($result)){ 
      $pro_title = $row['product_title']; 
      $pro_image = $row['product_image']; 

      echo "<div id='product'> 
        <h3>$pro_title</h3> 
        <img src='admin_area/product_images/$pro_image' width='135' height='145'/> 
        </div>"; 
     } 
      $query = "select * from products"; 
      $result = mysqli_query($con, $query); 
      $total_records = mysqli_num_rows($result); 
      $total_pages = ceil($total_records/$per_page); 
       echo "<a href='index.php?page=1'>".'First Page'."</a> "; 
       for ($i=1; $i<=$total_pages; $i++) { 
       echo "<a href='index.php?page=".$i."'>".$i."</a> "; 
       }; 
       echo "<a href='index.php?page=$total_pages'>".'Last Page'."</a>"; 
    } 
    } 
} 


//GETTING THE PRODUCTS BY CATEGORIES 
function getCatPro(){ 
    if(isset($_GET['cat'])){ 
     $cat_id = $_GET['cat']; 
     global $con; 
     $per_page=9; 
     if (isset($_GET["page"])) { 
     $page = $_GET["page"]; 
     } 
     else { 
     $page=1; 
     } 
     $start_from = ($page-1) * $per_page; 
     $query = "SELECT * FROM products where product_cat='$cat_id' order by product_id DESC LIMIT $start_from, $per_page"; 
     $result = mysqli_query ($con, $query); 
     while ($row_cat_pro=mysqli_fetch_array($result)){ 
      $pro_title = $row_cat_pro['product_title']; 
      $pro_image = $row_cat_pro['product_image']; 

      echo "<div id='product'> 
        <h3>$pro_title</h3> 
        <img src='admin_area/product_images/$pro_image' width='135' height='145'/> 
        </div>"; 
     } 
     $query = "select * from products where product_cat='$cat_id'"; 
     $result = mysqli_query($con, $query); 
     $total_records = mysqli_num_rows($result); 
     $total_pages = ceil($total_records/$per_page); 
      echo "<a href='index.php?page=1'>".'First Page'."</a> "; 
      for ($i=1; $i<=$total_pages; $i++) { 
      echo "<a href='index.php?page=".$i."'>".$i."</a> "; 
      }; 
      echo "<a href='index.php?page=$total_pages'>".'Last Page'."</a>"; 
    } 
} 
?> 
+0

请参阅http://php.net/manual/en/function.error-reporting.php和http://php.net/manual/en/mysqli.error.php将其应用于您的代码并告诉我们什么弹出。这些是在开发过程中使用的基本工具。 –

+0

这不是错误先生,只是一个初学者玩:-)只是不知道如何改善这个工作使其工作:$cat_title Fanya

+0

欢迎来到堆栈溢出!我尽可能地猜测你的问题,然后编辑你的问题。但是,添加代码和说明以便更多知道该主题的人员将看到它。如果需要识别特定问题,请编辑您遇到的特定错误消息。祝你好运! – manetsus

回答

0

您必须修改getCatPro()并将cat参数连接到链接。例如:

echo "<a href='index.php?page=".$i."&cat=".$cat_id."'>".$i."</a> "; 

希望它有帮助。

+0

_Oh geez谢谢。其作品。 这真的是我需要的答案 你真是太棒了,兄弟。谢谢你,谢谢你,谢谢你。 其实这是为我的店铺,一些客户建议我使它在线。 在这里,我只是在2周前试图了解HTML,CSS,Javascript和PHP。 在您的帮助下,我几乎完成了所有这些代码,它非常有用,兄弟,非常感谢。 我还有一个问题需要绘制。你能帮我吗? 我应该写一个新的话题,还是只写下一个评论? 我会永远感谢你的回答:-) – Fanya

+0

只需帮助我这个http://stackoverflow.com/questions/39067267/how-to-take-out-the-anchor-element-from-echo-functions -php放,其对BOD – Fanya

相关问题