Je crée un catalogue de produits avec des catégories. Jusqu'à présent, je l'ai développé une pagination de produit parfaitement, même la catégorie du catalogue de produits.
Cette page répertorie tous les produits dans la base de données de table.
Avec la fonction suivante:
products.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 function getPro(){ if(!isset($_GET['cat'])){ if(!isset($_GET['brand'])){ global $con; $url = "products.php"; $sql = mysqli_query($con,"SELECT * FROM products"); $num_total_records = mysqli_num_rows($sql); if ($num_total_records > 0) { $SIZE_PAGE = 1; $page = false; if (isset($_GET["pag"])) $page = preg_replace('#[^0-9]#','', $_GET["pag"]); if (!$page) { $index = 0; $page = 1; } else { $index = ($page - 1) * $SIZE_PAGE; } $total_pages = ceil($num_total_records / $SIZE_PAGE); echo'Products'; echo '<h3 class="h3">'.$num_total_records .' PRODUCTS PÁGE '.$page.' OF ' .$total_pages.'</h3>'; //echo '<h3>Page '.$page.' of ' .$total_pages.' </h3>'; $sql = mysqli_query($con,"SELECT * FROM products ORDER BY product_id ASC LIMIT $index,$SIZE_PAGE"); while ($row = mysqli_fetch_array($sql)) { $pro_id = $row['product_id']; $pro_cat = $row['product_cat']; $pro_brand = $row['product_brand']; $pro_title = $row['product_title']; $pro_price = $row['product_price']; $pro_image = $row['product_image']; echo " <div id='single_product'> <h3>$pro_title</h3> <img src='admin_area/product_images/$pro_image' width='180' height='180' /> <p><b> $ $pro_price </b></p> <a href='details.php?pro_id=$pro_id' style='float:left;'>Details</a> <a href='index.php?pro_id=$pro_id'><button style='float:right'>Add to Cart</button></a> </div> "; } ?>Cette fonction correspond à la catégorie du produit.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 <?php if ($total_pages > 1) { if ($page != 1) echo '<li><a href="'.$url.'?pag='.($page-1).'">previous</a></li>'; for ($i=1;$i<=$total_pages;$i++) { if ($page == $i) echo'<li class="active"><a>'.$page.'</a><li>'; else echo ' <li><a href="'.$url.'?pag='.$i.'">'.$i.'</a><li> '; } if ($page != $total_pages) echo '<li><a href="'.$url.'?pag='.($page+1).'">next</a></li>'; } echo '</p>'; } } } }
Le problème avec cette fonctionnalité est qu'il montre tous les produits.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 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><a href='products.php?cat=$cat_id'>$cat_title</a></li>"; } }
s'il y a 100 produits dans la même catégorie Il ne serait pas montrer tous les résultats. parce que si nous montrons tous les résultats de la catégorie, la page sérieuse vaste.
alors mon idée est aussi de mettre en œuvre une pagination pour la catégorie du produit
mais je ne sais pas comment le créer?
Partager