2016-09-21 34 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>';  

    } 

    ?> 
相关问题