2012-09-02 39 views
-3

我從MSQL數據庫中獲取兩個不同數組的數據,第一個數組來自包含15行/項的博客文章表,第二個數組來自廣告表包含3行/項目。我想從博客帖子表(第一個數組)中獲取前5個數據集,然後從廣告表(第二個數組)中foreach 1(one),並從第一個數組中停止的地方繼續從另一個5個項目和一個第一個數組,就像那樣。 請幫我想出如何做到這一點的PHP代碼。 謝謝。我如何打破foreach語句,回顯其他內容,然後繼續

+1

你可能會告訴我們您所使用的編程語言 –

+0

開始請我需要的PHP代碼做 – sirlouis

+1

[你嘗試過什麼?](http://whathaveyoutried.com) – 2012-09-02 11:10:37

回答

0

使用模數。

你將有一個數量與mssql_num_rows,然後循環計數器,在說的foreach $i

然後($行)..:

$i = 0; $count = mssql_num_rows($result); 
foreach($rows as $blog) { 
    if($i > 0 && $i++ % 5 == 0) { 
     $advert = array_shift($adverts_array); 
     // process $advert 
    } 
    // process $blog here 
} 
+0

如果你想也開始添加,刪除'$ i> 0'子句 – mschr

+0

感謝您的幫助,但我嘗試了上述腳本,它從柱陣列輸出預期的5,現在的問題是dat它沒有回聲廣告數組的數組值,當我使用foreach廣告數組時,它會在繼續發佈數組之前打印所有廣告內容,請如何解決此問題? – sirlouis

+0

不能說爲什麼從你提供的信息..但你有兩個結果集來迭代嗎?然後簡單地處理第一次廣告@計數5,第二次廣告@計數10等等,這就是爲什麼評論說'採取一(!)' – mschr

0

的代碼假定數組索引從0開始。

$i = 0; 
foreach ($posts as $post) { 
    // Output and/or otherwise process $post 
    if (++$i % 5 == 0) { 
    $advertisements[$i/5 - 1] // Output and/or process advertisement 
    } 
} 
+0

感謝您的協助,但我嘗試了上述腳本,它從輸出數組5陣列預期,現在的問題是dat它沒有迴應廣告數組的數組值,當我使用廣告數組的foreach它打印所有的廣告內容之前繼續後數組,請如何解決這個?? – sirlouis