2016-08-19 3 views
-2

Я пытаюсь научиться делать простую разбивку на страницы .. для первого запуска (index.php) это успех, , затем я нажимаю кнопку КАТЕГОРИИ, чтобы показать продукты по категориям, это все еще успех. Но когда я нажмите на следующую страницу, скажем, номер страницы 5, на самом деле перейдите на страницу с номером 5 , но не в КАТЕГОРИИ, она вернется на главную страницу. Я знаю, что из-за этого echo a href = 'index.php', , но я начинаю здесь, просто начните с php и javascript около недели назад, , поэтому мне нужно, чтобы вы «ТОЛЬКО ПРАВИЛЬНО МОЙ КОД», пожалуйста, 't дать мне кучу кода, как 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

Добро пожаловать в Stack Overflow! Я отредактировал ваш вопрос, насколько я мог догадаться о вашей проблеме. Однако добавьте код и описание, чтобы увидеть больше людей со знанием предмета. Измените конкретное сообщение об ошибке, с которым вы сталкиваетесь, в случае необходимости определить конкретную проблему. Удачи! – manetsus

ответ

0

Вы должны изменить getCatPro() и сцепить параметр ссылки cat. Например:

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

Надеюсь, это поможет.

+0

_Oh geez спасибо. Это работает. Это действительно ответ, что мне нужно Ты потрясающий, брат. Благодарю вас, благодарю вас. На самом деле это для моего магазина, некоторые клиенты предложили мне сделать это онлайн. И вот я, просто пытаюсь понять о HTML, CSS, Javascript и PHP всего 2 недели назад. С вашей помощью я почти закончил со всем этим кодом, это действительно очень полезно, брат, спасибо большое. У меня есть еще одна проблема, которую нужно рисовать. Ты поможешь мне? Должен ли я создать новую тему или просто написать следующий комментарий? Я буду вечно благодарен за ваш ответ :-) – Fanya

+0

Просто помогите мне с этим http://stackoverflow.com/questions/39067267/how-to-take-out-the-anchor-element-from-echo-functions -PHP-и-место-он-к-бод – Fanya

Смежные вопросы