2014-11-24 122 views
0

我正在創建一篇文章wesbite,並希望顯示一篇文章的網格與廣告放置在該網格使用PHP somwhere。因此,它應該像(例如):PHP展示Div其他Div

[ Article ][ Article ][ Article ] 
[ Article ][ Article ][ ADVERTS ] 
[ Article ][ Article ][ Article ] 

所以PHP代碼,我擁有的是:

$get_article_sql = "SELECT * FROM articles ORDER BY added DESC LIMIT 8"; 
$get_article_res = mysqli_query($con, $get_article_sql); 
while($article = mysqli_fetch_assoc($get_article_res)){ 
    $article_id = $article["id"]; 
    etc... 

    $list_articles .= " 


    <div class=\"selectArticle selectArticleClear\"> 
     <a href=\"article.php?id=$article_id&title=$article_url_title\"> 
      <div class=\"selectArticleImage\"> 
       <img class=\"selectArticleImage\" src=\"images/$article_year/$article_id$article_photo\" alt=\"$article_alt\" /> 
       <div class=\"selectArticleCover\"></div> 
      </div> 
     </a> 
     <div class=\"selectArticleTitle\"><a href=\"article.php?id=$article_id&title=$article_url_title\">$article_title</a></div> 
     <div class=\"selectArticleText\">$article_article...<br>| ... <a href=\"article.php?id=$article_id&title=$article_url_title\">Read On</a> &raquo&raquo;</div> 
    </div> 

    "; 
} 

然後我有我的廣告:

$advert = "<div class="advert">ADVERT CODE</div>"; 

如何放置例如$advert裏面的$list_articles字符串在位置6?

+0

創建一個計數器,它增加每循環,並添加一個簡單的if語句?例如:'if($ counter == 6)$ list_articles。= $ advert;' – 2014-11-24 18:32:14

+0

使用HTML或CSS製作表格。 – 2014-11-24 18:33:25

回答

3

計數6個輸出並連接您的廣告格:

... 
$i = 1; 
while($article = mysqli_fetch_assoc($get_article_res)){ 

    if(6 === $i++) { 
    $list_articles .= '<div class="advert">ADVERT CODE</div>'; 
    } 
... 
+0

謝謝,但是這應該放在哪裏exaclty? – user3177012 2014-11-24 18:39:01

+0

代替單個「while」行。 – mudasobwa 2014-11-24 18:39:31

0

在您

<div class=\"selectArticleTitle\"><a href=\"article.php?id=$article_id&title=$article_url_title\">$article_title</a></div> 

把另一個DIV其次是它更好格組織,然後用css來定位它

做您的定位爲

[ Article ][ Article ][ Article ] 
[ Article ][ Article ][ ADVERTS ] 
[ Article ][ Article ][ Article ] 

與CSS

+0

如何使用CSS定位? – user3177012 2014-11-24 18:37:39

+0

這裏是一個完美的例子,看看小提琴:http://stackoverflow.com/questions/10734748/div-in-div-in-rows-and-columns – unixmiah 2014-11-24 18:39:11

+0

老實說,只是用CSS/HTML做一個表。其餘的將很容易就位。 – 2014-11-24 18:39:41

-1

你可以使用這樣的計數器:

$i=0; 
$advert = "<div class="advert">ADVERT CODE</div>"; 
    while($article = mysqli_fetch_assoc($get_article_res)){ 
     $article_id = $article["id"]; 

     if($i==5){ 
      $list_articles .=$advert; 
     } 
     $list_articles .= " 

     <div class=\"selectArticle selectArticleClear\"> 
      <a href=\"article.php?id=$article_id&title=$article_url_title\"> 
       <div class=\"selectArticleImage\"> 
        <img class=\"selectArticleImage\" src=\"images/$article_year/$article_id$article_photo\" alt=\"$article_alt\" /> 
        <div class=\"selectArticleCover\"></div> 
       </div> 
      </a> 
      <div class=\"selectArticleTitle\"><a href=\"article.php?id=$article_id&title=$article_url_title\">$article_title</a></div> 
      <div class=\"selectArticleText\">$article_article...<br>| ... <a href=\"article.php?id=$article_id&title=$article_url_title\">Read On</a> &raquo&raquo;</div> 
     </div> 

     "; 


     $i++; 
    } 
+0

謝謝,完美的作品! – user3177012 2014-11-24 18:46:23

+0

此代碼**下降,從不輸出**第五個元素來自查詢。 – mudasobwa 2014-11-24 18:49:06

+0

@mudasobwa我沒有打擾輸出它,因爲OP從來沒有要求它。 – 2014-11-24 19:08:58