首页 > 解决方案 > 每 10 个广告 - 2 个横幅循环

问题描述

http://prntscr.com/nwt8ir

图片中的黄色部分是广告。图像中的红色部分是横幅。

我想在每个周期的图片中做。

我的代码:

$adss = $baglan->query("SELECT * FROM ads ORDER BY id DESC", PDO::FETCH_ASSOC);
if ( $adss->rowCount() )
{
foreach( $adss as $ads ){ ?>
<img src="$ads['image']">
<?php } } ?>

$banners= $baglan->query("SELECT * FROM banner ORDER BY id DESC" PDO::FETCH_ASSOC);
if ( $banners->rowCount() )
{
foreach( $banners $banner){ ?>
<img src="$banner['image']">
<?php } } ?>

循环中将有 10 个广告。然后会有2个横幅。我在等你的帮助。谢谢。

标签: phpmysqlfor-loopeach

解决方案


如果我正确理解您的问题,您想永远运行这两个 foreach 循环吗?您可以将两个循环放在一个永无止境的 while 循环中,将查询放在循环之外以减少服务器工作:

$adss = $baglan->query("SELECT * FROM ads ORDER BY id DESC", PDO::FETCH_ASSOC);
$banners= $baglan->query("SELECT * FROM banner ORDER BY id DESC" 
PDO::FETCH_ASSOC);
if ($adss->rowCount() && $banners->rowCount()){
    while(true){
      foreach( $adss as $ads ){ ?>
         <img src="$ads['image']">
      <?php } ?>
    foreach( $banners $banner){ ?>
         <img src="$banner['image']">
      <?php }
     }
}
?>

推荐阅读