php loop внутри гармошки не отображается правильно

В моей базе данных есть таблица це внутри этой таблицы у меня есть две колонки pub_year а также pub_publi

Пример таблицы це содержание:

<table  border="1">
<tr>
<td>2016</td>
<td>content_2016_1</td>
</tr>
<tr>
<td>2016</td>
<td>content_2016_2</td>
</tr>
<tr>
<td>2016</td>
<td>content_2016_3</td>
</tr>
<tr>
<td>2015</td>
<td>content_2015_1</td>
</tr>
<tr>
<td>2015</td>
<td>content_2015_2</td>
</tr>
</table>

1

Решение

Способ, которым вы группируете данные по pub_year, верен, но из вашего примера вы выводите информацию только при изменении группы.

Я бы предложил нечто подобное:

    <?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>';
}
?>
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]