我想學習如何做一個簡單的分頁..第一次推出(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>";
}
}
?>
請參閱http://php.net/manual/en/function.error-reporting.php和http://php.net/manual/en/mysqli.error.php將其應用於您的代碼並告訴我們什麼彈出。這些是在開發過程中使用的基本工具。 –
這不是錯誤先生,只是一個初學者玩:-)只是不知道如何改善這個工作使其工作:$cat_title – Fanya
歡迎來到堆棧溢出!我儘可能地猜測你的問題,然後編輯你的問題。但是,添加代碼和說明以便更多知道該主題的人員將看到它。如果需要識別特定問題,請編輯您遇到的特定錯誤消息。祝你好運! – manetsus