手风琴内的php循环未正确显示
在我的数据库中有一个名为publi的表,在这个表中有两列pub_year和pub_publi publi内容表的示例:手风琴内的php循环未正确显示,php,for-loop,foreach,while-loop,accordion,Php,For Loop,Foreach,While Loop,Accordion,在我的数据库中有一个名为publi的表,在这个表中有两列pub_year和pub_publi publi内容表的示例: 2016 内容(2016)1 2016 内容(2016)2 2016 内容(2016)3 2015 内容(2015)1 2015 内容(2015)2 您按发布年份对数据进行分组的方式是正确的,但从您的示例来看,您仅在组发生变化时输出信息 我会提出类似的建议: <?php $previous = false; while ($va
2016
内容(2016)1
2016
内容(2016)2
2016
内容(2016)3
2015
内容(2015)1
2015
内容(2015)2
您按发布年份对数据进行分组的方式是正确的,但从您的示例来看,您仅在组发生变化时输出信息
我会提出类似的建议:
<?php
$previous = false;
while ($val = mysqli_fetch_array($result)) {
// when group is changing, end previous and start new
if ($previous <> $val['pub_year']) {
// end previous group html markup
if ($previous !== false) {
echo '</div>';
}
$previous = $val['pub_year'];
$year = $previous;
echo '<button type="button" class="btn btn-info" data-toggle="collapse" data-target="#' . $year . '>' . $year . '</button>';
echo '<div id="' . $year . '" class="collapse">';
}
// always output data inside group
$Temp = highlight("person1",$val['pub_publi'],"0000FF");
$Temp = highlight("person2",$Temp,"0000FF");
$Temp = highlight("person3",$Temp,"0000FF");
$Temp = highlight("person4",$Temp,"0000FF");
$Temp = highlight("person5",$Temp,"0000FF");
$Temp = highlight("person6",$Temp,"0000FF");
$Temp = highlight("person7",$Temp,"0000FF");
$Temp = highlight("person8",$Temp,"0000FF");
$Temp = highlight("person9",$Temp,"0000FF");
$Temp = highlight("person10",$Temp,"0000FF");
echo $Temp . '<br>';
}
// end last group html markup
if ($previous !== false) {
echo '</div>';
}
?>
您按发布年份分组数据的方式是正确的,但从您的示例来看,您仅在组发生变化时输出信息
我会提出类似的建议:
<?php
$previous = false;
while ($val = mysqli_fetch_array($result)) {
// when group is changing, end previous and start new
if ($previous <> $val['pub_year']) {
// end previous group html markup
if ($previous !== false) {
echo '</div>';
}
$previous = $val['pub_year'];
$year = $previous;
echo '<button type="button" class="btn btn-info" data-toggle="collapse" data-target="#' . $year . '>' . $year . '</button>';
echo '<div id="' . $year . '" class="collapse">';
}
// always output data inside group
$Temp = highlight("person1",$val['pub_publi'],"0000FF");
$Temp = highlight("person2",$Temp,"0000FF");
$Temp = highlight("person3",$Temp,"0000FF");
$Temp = highlight("person4",$Temp,"0000FF");
$Temp = highlight("person5",$Temp,"0000FF");
$Temp = highlight("person6",$Temp,"0000FF");
$Temp = highlight("person7",$Temp,"0000FF");
$Temp = highlight("person8",$Temp,"0000FF");
$Temp = highlight("person9",$Temp,"0000FF");
$Temp = highlight("person10",$Temp,"0000FF");
echo $Temp . '<br>';
}
// end last group html markup
if ($previous !== false) {
echo '</div>';
}
?>