#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 он удалит мои сообщения