![](/img/trans.png)
[英]How to select all categories and count number of each category articles in MySQL
[英]Select all the categories and for each category last 5 post
我有2個表一類和一個職位。 如何選擇所有類別並從每個類別中選擇最后5個帖子。
到目前為止我有這段代碼
include("includes/connect.php");
$get_cats = "select * from categories";
$run_cats = mysqli_query($con,$get_cats);
while ($cats_row=mysqli_fetch_array($run_cats)) {
$cat_id=$cats_row['cat_id'];
$cat_title=$cats_row['cat_title'];
echo '<div class="col-md-4 col-sm-6 col-xs-12">';
echo '<ul class="list-group ">';
echo '<li class="list-group-item table-header"><strong>';
echo $cat_title;
echo '</strong><span class="badge badge-color">12</span></li>';
echo '</ul>';
echo '</div>';
}
表格類別的結構
cat_id cat_title
1 sports
2 news
3 bla
4 bla
在帖子中,我有一個categ_id。
您正在從兩個表中查找要與cat_id一起使用的SQL連接方法 。 比您可以更改SQL查詢以僅獲得5個結果,或者可以在PHP中為每個類別創建一個計數器,如果已經擁有5個,則跳過其余部分。當然,您需要考慮那里有多少數據。 如果您的數據庫很大,最好是用SQL解決。
您可以在while循環內運行第二個查詢,以獲取類別發布數據
while ($cats_row=mysqli_fetch_array($run_cats)) {
$cat_id=$cats_row['cat_id'];
$sql2="select * from post where cat_id=".$cat_id." order by id desc limit 5";
$second2=mysql_query($sql2);
while (post_row=mysqli_fetch_array($second2)) {
// do your stufff
}
}
我編輯了一點點,但是這里是最終代碼:
<?php
include("includes/connect.php");
$get_cats = "SELECT * from categories";
$run_cats = mysqli_query($con,$get_cats);
while ($cats_row=mysqli_fetch_array($run_cats)) {
$cat_id=$cats_row['cat_id'];
$cat_title=$cats_row['cat_title'];
echo '<div class="col-md-4 col-sm-6 col-xs-12">';
echo '<ul class="list-group ">';
echo '<li class="list-group-item table-header"><strong>';
echo $cat_title;
echo '</strong><span class="badge badge-color">12</span></li>';
$sql2="SELECT * from posts_req where categ_id='$cat_id' ORDER BY post_id desc limit 5";
$second2=mysqli_query($con,$sql2);
if (!$second2) {
printf("Error: %s\n", mysqli_error($con));
exit();
}
while ($post_row=mysqli_fetch_array($second2)) {
echo '<a href="#" class="list-group-item border-none fonts">'.$post_row['post_title'].'</a>';
}
echo '</ul>';
echo '</div>';
}
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.