抱歉我的英文,
我需要在php中每隔三行显示一个横幅广告。横幅广告和具有分类的行是从数据库中选择的。到目前为止,我创造了这样的东西:
包含数据库分类的行
while(@$row_select_kat = mysql_fetch_assoc($results_select_kat))
{
... //classifieds from database
if(($row_select_kat['id_ogloszenia']%3)==0)
{
$lim = 1;
echo"<div id=\"rek_poz_a\">";
modAddsDisplayHelper::wyswietlReklamyPozA();
echo"</div>";
}
}
从数据集中选择横幅广告:
public static function wyswietlReklamyPozA()
{
$baza_danych = &JFactory::getDbo();
$query_sel_all_banners = "SELECT * FROM juxhv_banners";
$baza_danych->setQuery($query_sel_all_banners);
$baza_danych->query();
$banner_ads = $baza_danych->loadObjectList();
echo$query_sel_all_banners;
echo"Liczba x= ".$l_ogloszen;
foreach($banner_ads as $banner_ad)
{
if($banner_ad->state==1)
{
echo"$banner_ad->name<br/><img src=\"images/$banner_ad->username/bannerwerbung/$banner_ad->zdjecie\" width=\"434px\" height=\"94px\" />";
}
else
{
echo"No banner";
}
}
}
当我这样做时,每三行显示所有三个横幅广告。如何每三行只显示一个横幅广告?
问候
答案 0 :(得分:1)
您需要使用外部计数器变量,该变量将在每次迭代时递增,并且根据其条件,您可以检查模数条件:请参阅以下更新的代码。 [代码]
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
If Session("Login") = "Success" Then
loadvirtualCard()
DisableFields()
End If
End If
End Sub
答案 1 :(得分:0)
Git repository view > Add an existing local Git repository to the view (Icons with green +)> Select your local repo > Right click on it > Import Projects...
通过这种方式,您只打印一个横幅,但始终是数据库中状态== 1的第一个横幅。
也许可以更好地改进查询:
if($banner_ad->state == 1) {
echo"$banner_ad->name<br/><img src=\"images/$banner_ad->username/bannerwerbung/$banner_ad->zdjecie\" width=\"434px\" height=\"94px\" />";
break;
}
我认为这会给你相同的结果。
我希望它有所帮助