簡體   English   中英

PHP數組格式化HTML輸出

[英]PHP array formatted HTML output

我有一個數組$eps來自MYSQL表,我想將其內容輸出為以下html格式。 我嘗試使用foreach循環輸出內容,但是season的值覆蓋了所有details div。 下面的代碼是我唯一想到的

foreach($eps as $key){
    foreach($key as $k){
    echo "<div class='main'>";
        echo "<div class='season'>".$k['season'];
            echo "<div class='details'>";
                echo "<div class='ep'>".$k['episode']."</div>";
                echo "<div class='title'>".$k['title']."</div>";
                echo "<div class='airdate'>".$k['airdate']."</div>";
                echo "<div class='plot'>".$k['plot']."</div>";
            echo "</div>";
        echo "</div>";
    echo "</div>";
    }
}

數組內容

Array
(
    [1] => Array
        (
            [0] => Array
                (
                    [title] => Pilot: Part 1
                    [date] => Sep. 22, 2004
                    [plot] => Forty-eight survivors of an airline flight originating from Australia, bound for the 
                    [season] => 1
                    [episode] => 1
                )

            [1] => Array
                (
                    [title] => Pilot: Part 2
                    [date] => Sep. 29, 2004
                    [plot] => Jack, Kate and Charlie return to the group, but the transceiver is broken. Sayid Jarrah 
                    [season] => 1
                    [episode] => 2
                )
    [2] => Array
        (
            [0] => Array
                (
                    [title] => Man of Science, Man of Faith
                    [date] => Sep. 21, 2005
                    [plot] => One of the castaways is chosen to descend into the mysterious hatch, and Shannon stumbles 
                    [season] => 2
                    [episode] => 1
                )

            [1] => Array
                (
                    [title] => Adrift
                    [date] => Sep. 28, 2005
                    [plot] => After the raft explodes, Michael and Sawyer are left on what is left on the raft. They 
                    [season] => 2
                    [episode] => 2
                )

的CSS

.main {
    width: 750px;
    margin-right: auto;
    margin-left: auto;
    clear: both;
    overflow:auto;
}
.season {
    margin: 5px;
    padding: 5px;
    width: 730px;
    background: #960;
    clear: both;
    overflow:auto;
    display: block;
}
.details {
    display: block;
    float: right;
    border-bottom: thin solid #000;
}
.ep, .title, .airdate, .plot {
    margin: 5px;
    padding: 5px;
    width: 675px;
    background: #CCC;
}

每個文檔僅出現1個ID。...您知道嗎? 使他們上課。

//only 1 main per total result, so, outside foreach.
echo "<div class='main'>";
foreach($eps as $key){
    //one season per sub array, so outside the other foreach:
    echo "<div class='season'>".$key[0]['season'];
    foreach($key as $k){
            echo "<div class='details'>";
                echo "<div class='ep'>".$k['episode']."</div>";
                echo "<div class='title'>".$k['title']."</div>";
                echo "<div class='airdate'>".$k['airdate']."</div>";
                echo "<div class='plot'>".$k['plot']."</div>";
            echo "</div>";
    }
    echo "</div>";
}
echo "</div>";
$season = 0;
echo "<div id='main'>";
foreach($eps as $key){
    foreach($key as $k){

       // season check start
       if($season!=$k['season']) {
        echo "<div id='season'>".$k['season']; 
       }
       //season check finish
            echo "<div id='details'>";
                echo "<div id='ep'>".$k['episode']."</div>";
                echo "<div id='title'>".$k['title']."</div>";
                echo "<div id='airdate'>".$k['airdate']."</div>";
                echo "<div id='plot'>".$k['plot']."</div>";
            echo "</div>";
       // season check start
       if($season!=$k['season']) {
        echo "</div>";
        $season = $k['season'];
       }
    }
}
echo "</div>";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM