使用mysql left-join时,我得到了3个表的结果。每一组机器类型都有特殊的要求。有些机器类型有相同的要求,有些则不是。
我的问题是,要将它们分组列出,并清除可寻址的css样式。我想要显示所有组-及其要求-但组作为标题只有一次。
如何输出关闭div并将其放置到正确的位置?
$lastDate = '';
while($r = $result_all->fetch(PDO::FETCH_OBJ)) {
$aktualisiert = $r->MTypID;
if ( $aktualisiert != $lastDate ){
echo '<div class="machine-type">'.$r->mtype'</div>';
echo '<div class="requirements">';
$lastDate = $aktualisiert;
}
//if ( $aktualisiert = $lastDate ){
echo $r->baustand." ";
//}
}//endwhile输出应如下所示(请参阅*</div>*):
<div class="machine-type">Model 1</div><div class="requirements">Softwareupdate 2.4.0 Valve M4 Tube 20cm *</div>*
<div class="machine-type">Model 2</div><div class="requirements">Softwareupdate 2.4.0 *</div>*发布于 2019-09-08 08:18:23
您只需要在$lastDate更改时关闭div,而不是在输出中的第一行时关闭它。所以在
if ( $aktualisiert != $lastDate ){ 添加
if ( $lastDate != '' ) echo "</div>";然后在你的循环之后添加
echo "</div>";发布于 2019-09-08 20:29:58
通过添加分隔符(也有点棘手),它更有用。这里是最后的代码--也许有人会感兴趣……
$lastDate = '';
$separator ='+';
$space =' ';
while($r = $result_all->fetch(PDO::FETCH_OBJ)) {
$aktualisiert = $r->MTypID;
if ( $aktualisiert == $lastDate ) echo $separator.$space;
if ( $aktualisiert !== $lastDate ){
if ( $lastDate !== '' ) echo '</div>'; //<!-- end requirements 1/2 -->
echo '<div class="machine-type">'.htmlspecialchars($r->mtype)'</div>';;
echo '<div class="requirements">';
$lastDate = $aktualisiert;
}
echo htmlspecialchars($r->baustand).' ';
}//endwhile
echo '</div>'; //<!-- end requirements 2/2 -->https://stackoverflow.com/questions/57838252
复制相似问题