2011-09-21 47 views
-1

PHP變換陣列來輸出在某種方式

<?php 
    $result = $sth->fetchAll(PDO::FETCH_NUM); 
    print_r($result); //or var_dump($result); for more info 
    foreach($result as $row){ 
     $half = array_splice($row,0,5); 
     echo implode(" ",$half)."<br /><br />Merchant Offered:<br />".implode(" ",$row); 
    } 
    ?> 

SQL

SELECT uFName, uLName, listTitle, listPropPrice, listCmt, listDt, mFName, mLName, moAmt, moDtOff 
FROM User U, Listing L, Merchant M, MerchantOffer MO 
WHERE U.uID = L.uID 
and L.listID = MO.listID 
and M.mID = MO.mId 

目前輸出: http://i.stack.imgur.com/qAtcf.png

我如何得到它NOT輸出的第一大數組:

Array ([0] => Array ([0] => Joseph [1] => Dickinson [2] => Need Xbox 360 [3] => 150 [4] => I need one quick! [5] => 2011-09-15 [6] => John [7] => Doe [8] => 149.99 [9] => 2011-09-15) [1] => Array ([0] => Joseph [1] => Dickinson [2] => Need Xbox 360 [3] => 150 [4] => I need one quick! [5] => 2011-09-15 [6] => Jane [7] => Doe [8] => 154.99 [9] => 2011-09-15) [2] => Array ([0] => Joseph [1] => Dickinson [2] => Need Xbox 360 [3] => 150 [4] => I need one quick! [5] => 2011-09-15 [6] => Diana [7] => Matthews [8] => 160.00 [9] => 2011-09-15) [3] => Array ([0] => Joseph [1] => Dickinson [2] => Need Xbox 360 [3] => 150 [4] => I need one quick! [5] => 2011-09-15 [6] => Amanda [7] => Koste [8] => 174.99 [9] => 2011-09-15) [4] => Array ([0] => Warren [1] => Kennan [2] => Need New Sofa [3] => 1000 [4] => Need one quick [5] => 2011-09-15 [6] => Diana [7] => Matthews [8] => 495.99 [9] => 2011-09-15) [5] => Array ([0] => Warren [1] => Kennan [2] => Need New Sofa [3] => 1000 [4] => Need one quick [5] => 2011-09-15 [6] => Amanda [7] => Koste [8] => 489.99 [9] => 2011-09-15)) Joseph Dickinson Need Xbox 360 150 I need one quick! 

,而是要發佈像輸出:

Joseph Dickinson Need Xbox 360 150 I need one quick! 
Merchant Offered: 
2011-09-15 John Doe 149.99 2011-09-15 

感謝

+0

您正在獲取查詢結果的全部內容,然後拼接出前5行並將這些行的全部內容抽出。 –

+0

我修正了輸出的龐大整體。如何更改輸出以匹配上面的** TO POST ** – m0m

回答

0

嘗試類似的東西

代碼

<?php 
    ... 
    // Do a loop on each row of your result/repeat the display 
    foreach ($result as $row) { 
     for ($i=0;$i<=count($row); $i++) { 
       echo $row[$i].' '; 
       if ($i==6) { 
        echo '<br/><br/>Merchant Offered:<br/>'; 
       } 
     } 
     echo '<br/><br/>'; 
    } 

輸出將

Joseph Dickinson Need Xbox 360 150 I need one quick! 
Merchant Offered: 
2011-09-15 John Doe 149.99 2011-09-15 

Joseph Dickinson Need Xbox 360 150 I need one quick! 
Merchant Offered: 
2011-09-15 Jane Doe 149.99 2011-09-15 
... 

兩個東西:

  • 不知道輸出會正是你需要什麼,你真的要重複在每個用戶的請求線路還是你想要一次,畢竟merchantoffer?像下面

    Joseph Dickinson Need Xbox 360 150 I need one quick! 
    Merchant Offered: 
    2011-09-15 John Doe 149.99 2011-09-15 
    2011-09-15 Jane Doe 149.99 2011-09-15 
    ... 
    

    在這種情況下,你需要在人請求組例如一行添加一個標識符...

  • 也許你可以連接你的信息到你的SQL語句來提高可讀性你的代碼,並避免行:if($ i == 6)這並不真正代表可以理解的東西。