【问题标题】:show all post with php inner join显示所有带有 php 内连接的帖子
【发布时间】:2019-08-10 19:26:54
【问题描述】:

所以我有这样一个项目,把帖子分成几个省。我可以显示帖子,但如果有 2 个或更多帖子,则只能显示 1 个,它只会显示 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 的帖子,我会再次重复,这样它就会像我的第一张图片一样检索。谢谢

感谢大家的帮助。

【问题讨论】:

  • 如果($p3===1){ 在做什么?
  • 你能在这里添加整个代码吗?
  • 等你添加到这里
  • 所以有很多省,我添加p3让它检索所有省
  • 你的 else 代码在哪里 .. 因为你正在递增 $p3++ 所以很明显它不会打印其他 div 因为条件错误

标签: php mysql if-statement while-loop


【解决方案1】:

首先我建议你使用mysqli_query(),因为 MySQL 功能已经被弃用了。

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

1) 从第一个表中获取数据

2) 根据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
          }
 }

【讨论】:

  • 我很抱歉我在写上面的问题时犯了错误。但已经在我的代码上这样做了。我需要的是检索同一省的所有帖子
  • 删除$p3条件条件后能否检查
  • 删除 p3++ 后,它会删除我的帖子
猜你喜欢
  • 2013-11-01
  • 2011-06-30
  • 2012-05-02
  • 2012-10-02
  • 1970-01-01
  • 1970-01-01
  • 2015-09-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多