показывать все сообщения с php inner join

#php #mysql #if-statement #while-loop

#php #mysql #if-оператор #цикл while

Вопрос:

Итак, у меня есть проект такого рода, чтобы разделить сообщение на несколько областей. Я могу показать сообщение, но только 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, поэтому они будут отображаться как моя 1-я картинка. Спасибо

Спасибо за помощь, ребята.

Комментарии:

1. что, если ($ p3===1){ выполняет?

2. Можете ли вы добавить сюда весь код?

3. подождите, яа добавит здесь

4. итак, существует много провинций, и я добавляю p3, чтобы заставить его извлекать все провинции

5. Где ваш код else.. поскольку вы увеличиваете $ p3 , очевидно, что он не будет печатать другой div, потому что условие неверно

Ответ №1:

Сначала я предложу вам пользователю mysqli_query() , поскольку функция MySQL уже устарела.

На основе вашего кода вам нужно разделить ваш запрос на 2 части

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

Комментарии:

1. Я прошу прощения за свою ошибку, когда написал это для вопроса выше. но это уже сделано в моем коде. Что мне нужно, так это получить все сообщения из одной провинции

2. можете ли вы проверить после удаления условия $ p3

3. после удаления p3 он удалит мои сообщения