2016-09-21 55 views
0

我有2個表一個類別和一個職位。我如何選擇所有類別並從每個類別中選擇最後5個帖子。選擇所有類別和每個類別的最後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。

+0

請告訴我們你的表結構。 –

+0

還指定哪個sql語言 – MtwStark

+0

我使用Mysql與phpmyadmin –

回答

0

可以在裏面運行你的第二個查詢的上方,而循環用於獲取類職位數據

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 
    } 
} 
+0

我需要測試它,我會回來 –

+0

我回答完整的代碼希望你給一個像以供將來使用 –

0

您正在尋找想要與來自兩個表格的cat_id一起使用的SQL join method。你可以改變SQL查詢以獲得5個結果,或者你可以在PHP中爲每個類別創建一個計數器,如果已經有5個結果,則跳過其餘部分。當然,你需要考慮你有多少數據。如果你有大的數據庫,最好的辦法是用SQL解決它。

0

我編輯痘痘位,但這裏是最終代碼:

<?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>';  

    } 

    ?> 
相關問題