我有一个来自MYSQL表的数组$eps
,我希望将其内容输出为html格式。我试图使用foreach循环输出内容,但季节的值正在包裹所有细节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;
}
答案 0 :(得分:3)
每个文档只出现一次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>";
答案 1 :(得分:2)
$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>";