php - 显示所有带有 php inner join 的帖子

标签 php mysql if-statement while-loop

所以我有这种项目要分几个省发帖。我可以显示该帖子,但只有 1 个,如果有 2 个或更多帖子,它只会显示 1 个帖子。这是我的 PHP 代码

<?php $p3=1;$posts=mysql_query("select * from provinces INNER JOIN posts ON posts.id_province=provinces.id_province");
                            while($ps3=mysql_fetch_array($posts)){
                                    $jdlpost=$ps3[nm_news];
                                    $despost=$ps3[desc];
                                    $jdlprovince=$ps3[nm_province];
                                                $link3=$_COOKIE[linkmenu].$ps3['id_news']."/"."news/".linktitle($ps3['nm_news']);
                                if($p3===1){
echo   "<div class=modal fade in' id='tc$ps3[id_news]> <div class=modal-dialog modal-lg> <div class='modal-content' style= 'margin-top: 100px;'>"
."<div class='modal-header'>"
                                    ."<h5 class='modal-title' id='exampleModalLabel'>$jdlprovince</h5>
                                                    <button type='button' class='close' data-dismiss='modal' aria-label='Close'>
                                                    <span aria-hidden='true'>×</span>
                                                    </button>"
                                    ."</div>"
."<div class='modal-body'>"
                                    ."<div class='row'>"
                                    ."<div class='col-md-12'>"
                                    ."<div class='box-list'>"
                                    ."<div class='detailgeo dg3 tampil$ps3[id_news] active view view-tenth'>"
                                    ."<div class='coverhover'><div class='imgs' style='background-image:url(".$_COOKIE[config]."dynamic/200/imgnews/".$ps3[pict].")'> </div>
                                                           <div class='mask'>
                                                               <a href='$link3' class='info' title='$jdlpost'><i class='fa fa-search'></i></a>
                                                           </div>
                                                       </div>"
                                    ."<div class='ise'><b><a href='$link3'>$jdlpost</a></b><i>".ucfirst(textlimit(rmSpecialChars(cleanHTML($despost)),180))."</i><div class='clear'></div><a href='$link3'class='remor' class='remor'>READ MORE <i class='fa fa-chevron-right'></i></a></div>"
                                    ."</div>"
                                    ."</div>"
                                    ."</div>"
                                    ."</div>"
                                    ."</div>"
                                    ."</div>"
                                    ."</div>"
                                    ."</div>";
}else{
echo   "<div class=modal fade in' id='tc$ps3[id_news]> <div class=modal-dialog modal-lg> <div class='modal-content' style= 'margin-top: 100px;'>"
<div class='modal-content' style= 'margin-top: 100px;'>"
                                    ."<div class='modal-header'>"
                                    ."<h5 class='modal-title' id='exampleModalLabel'>$jdlprovince</h5>
                                                    <button type='button' class='close' data-dismiss='modal' aria-label='Close'>
                                                    <span aria-hidden='true'>×</span>
                                                    </button>"
                                    ."</div>"
                                    ."<div class='modal-body'>"
                                    ."<div class='row'>"
                                    ."<div class='col-md-12'>"
                                    ."<div class='box-list'>"
                                    ."<div class='detailgeo dg3 tampil$ps3[id_news] active view view-tenth'>"
                                    ."<div class='coverhover'><div class='imgs' style='background-image:url(".$_COOKIE[config]."dynamic/200/imgnews/".$ps3[pict].")'> </div>
                                                           <div class='mask'>
                                                               <a href='$link3' class='info' title='$jdlpost'><i class='fa fa-search'></i></a>
                                                           </div>
                                                       </div>"
                                    ."<div class='ise'><b><a href='$link3'>$jdlpost</a></b><i>".ucfirst(textlimit(rmSpecialChars(cleanHTML($despost)),180))."</i><div class='clear'></div><a href='$link3'class='remor' class='remor'>READ MORE <i class='fa fa-chevron-right'></i></a></div>"
                                    ."</div>"
                                    ."</div>"
                                    ."</div>"
                                    ."</div>"
                                    ."</div>"
                                    ."</div>"
                                    ."</div>"
                                    ."</div>";
                            }?>
                            <?php
                        ?>
<script>
                                $(document).ready(function(){
                                    $(".maps<?php echo $ps3['id_news'];?>").click(function(){
                                        $(".dg3").removeClass("active");
                                        $(".tthree .posisi").removeClass("active");
                                        $(this).addClass("active");
                                        $(".tampil<?php echo $ps3['id_news'];?>").addClass("active");
                                    });
                                });
                            </script><?php
                            $p3++;
                        }
                        ?>

我不知道如何在我的代码中检索超过 1 个具有相同 id_province 的帖子。因此,如果有 2 个帖子具有相同的 id_province,我会再次重复,这样它就会像我的第一张照片一样检索。谢谢

感谢您的帮助。

最佳答案

首先,我建议您使用 mysqli_query(),因为 MySQL 函数已被弃用。

根据您的代码,您需要将查询分为两部分

1) get data from the first table

2) get the data from the second table based on id

现在根据结果,您可以根据需要显示 div。

$posts=mysql_query("select * from provinces");


while($ps3=mysql_fetch_array($posts)){
        while($result=mysql_fetch_array(mysql_query('select * from table2 where id ='.$ps3['id']))){
            // do code here
          }
 }

关于php - 显示所有带有 php inner join 的帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55255060/

相关文章:

php - "annotations"在Doctrine中有什么优点?

php - 使用PHP上传mp3时出错

php:显示关联数组的每个元素的键和值

mysql - mysql搜索性能

python - 在 if 语句中依赖条件评估顺序是否安全?

|| 的 C++ 排序and && 在 if 语句中测试相等性时

php - 如何使用 PHP SDK 3 从 AWS API Gateway 访问 API

mysql - MySQL 事务可以与事件调度程序一起使用吗?

MySQL 注入(inject) - 使用 SELECT 查询来更新/删除

mysql - 在 MySQL 嵌套 If 中检查 Null