ดึงสินค้าขึนมาแสดง และ แจ้งจำนวนสินค้าด้วย (นับจำนวนเรคคอร์ต) เช่น มะพร้าว (20) ชมพู่ (10)
แล้วมันจะดึงจำนวนมาจากไหน ?
เอาละเอียดๆ หน่อยครับ
Date :
2017-03-10 23:41:01
By :
Luz
ก่อนอื่นต้องมีตาราง category ไว้เก็บหมวดหมู่สินค้าก่อนครับ แล้วใช้ฟิลด์ id ของ category ไปอ้างอิง ในฟิล cat_id ของ products ครับ
Code (PHP)
$sql = mysql_query("SELECT *, COUNT(b.cat_id) AS num_product FROM category a LEFT JOIN products b ON a.id = b.cat_id GROUP BY a.id ORDER BY a.id ASC") or die("DataBase Error!");
while($row=mysql_fetch_assoc($sql)){
echo $row['cat_name']." "; // ชื่อหมวดสินค้าในตาราง category
echo "(".$row['num_product'].")<br>"; // จำนวนสินค้าที่มีในหมวดนั้นๆ
}
ประมาณนี้ครับ
Date :
2017-03-11 12:23:35
By :
tomrambo
แล้วมีตาราง category ไว้เก็บชื่อหมวดสินค้าหรือเปล่าครับ เช่น
id cat_name
1 หนังสือเกี่ยวกับรัสเซีย
2 หนังสือเกี่ยวกับอีสาน
3 หนังสือเกี่ยวกับขอม
4 หนังสือศิลปะ
Date :
2017-03-11 21:58:44
By :
tomrambo
งั้นตามนี้เลยครับ
$sql = mysql_query("SELECT *, COUNT(b.cat_id) AS num_product FROM category a LEFT JOIN products b ON a.id = b.cat_id GROUP BY a.id ORDER BY a.id ASC") or die("DataBase Error!");
while($row=mysql_fetch_assoc($sql)){
echo $row['title']." "; // ชื่อหมวดสินค้าในตาราง category
echo "(".$row['num_product'].")<br>"; // จำนวนสินค้าที่มีในหมวดนั้นๆ
}
โทดทีครับ หรือว่าผมอธิบายยากไป เพราะจบนิติศาสตร์ อิอิ
Date :
2017-03-13 11:43:20
By :
tomrambo
ฟิลด์ Category ที่เก็บชื่อหมวดในตาราง Products ไม่จำเป็นต้องมีครับ เพราะเราใช้ cat_id เก็บ id หมวดที่อ้างอิงมาจากตาราง category แล้วครับ
Date :
2017-03-13 12:19:17
By :
tomrambo
Date :
2017-03-13 15:26:16
By :
mr.win
Date :
2017-03-14 09:02:46
By :
mr.win
ตอบความคิดเห็นที่ : 21 เขียนโดย : mr.win เมื่อวันที่ 2017-03-14 09:02:46
รายละเอียดของการตอบ ::
หน้า index , category, search // ดึงขึ้นมาแสดงและตัดหน้าครับ
Code (PHP)
<?php
$con = mysqli_connect('localhost', '', '', '');
mysqli_query($con, "SET NAMES UTF8");
$perpage = 12;
if (isset($_GET['page'])) {
$page = $_GET['page'];
} else {
$page = 1;
}
$start = ($page - 1) * $perpage;
if(isset($_POST['filter']))
{
$filter = $_POST['filter'];
$result = mysqli_query($con, "SELECT * FROM products where Product like '%$filter%' or Description like '%$filter%' or Category like '%$filter%' LIMIT ".$start.",".$perpage);
}
else
{
$result = mysqli_query($con, "SELECT * FROM products ORDER BY ID LIMIT ".$start.",".$perpage);
}
if($result){
while($row=mysqli_fetch_array($result)){
$prodID = $row["ID"];
echo '<ul class="col-sm-4">';
echo '<div class="product-image-wrapper">
<div class="single-products">
<div class="productinfo text-center">
<a href="product-details.php?prodid='.$prodID.'" rel="bookmark" title="'.$row['Product'].'"><img src="reservation/img/products/'.$row['imgUrl'].'" alt="'.$row['Product'].'" title="'.$row['Product'].'" width="219" height="150" /></a>
<h5><a href="product-details.php?prodid='.$prodID.'" rel="bookmark" title="'.$row['Product'].'">'.$row['Product'].'</a></h5>
<b> '.$row['Price'].' </b>THB : <a href="category.php?filter='.$row['Category'].'"> '.$row['Category'].' </p></a>
<a href="product-details.php?prodid='.$prodID.'" class="btn active btn-dark btn-xs"><i class="fa fa-camera"></i> Details </a>
</div>';
echo '</ul>';
}
}
?>
<?php
$sql2 = "select * from products order by ID";
$query2 = mysqli_query($con, $sql2);
$total_record = mysqli_num_rows($query2);
$total_page = ceil($total_record / $perpage);
if($page>=2){
$Ppage = ($page-1);
?>
</div>
<hr>
<div align="right">
<nav>
<ul class="pagination">
<li><a href="index.php?page=<?php echo $Ppage ?>"></a></li></ul>
<?php
}
for($i=1;$i<=$total_page;$i++){
$numPage = $page==$i?"[".$i."]":$i;
?>
<ul class="pagination">
<li><a href="index.php?page=<?php echo $i; ?>"><?php echo $numPage." "; ?></a></li></ul>
<?php }
if($page<$total_page){
$Npage = ($page+1);
?>
<ul class="pagination">
<li><a href="index.php?page=<?php echo $Npage;?>"></b></a></li>
</ul>
</nav>
</div>
<?php } ?>
<!--php ends here-->
Date :
2017-03-14 11:49:51
By :
artnana
ทำได้ขนาดนี้ขั้น advance แล้วครับ ว่าแต่เอาสคริปจากไหนเป็นหลักครับ มีเวลาจะได้โหลดมาลองเล่นบ้าง
Date :
2017-03-15 08:54:58
By :
apisitp
Load balance : Server 05