我有一个问题,例如如果以前的记录在循环像
$s="SELECT * from tabel";
$qs=mysqli_query($conn, $s);
echo "<table>";
while($rs=mysqli_fetch_assoc($qs)) {
$tgl=date("d.m.y",strtotime($rs['tgl']));
$kode=$rs['kode'];
$desc=$rs['desc'];
echo "<tr><td>$tgl</td><td>$kode</td><td>$desc</td></tr>";
}
echo "</table>";
例如,上一条记录上的日期与下一条记录上的日期相同,如果在表上打印的值看起来是两倍,则仅在更改或不同时才打印记录。更改日期然后打印时,下一条记录上的日期相同(不打印)。另外,仅当代码更改或与先前记录不同时才打印代码
这张图片和代码可以说明我对问题的看法,谢谢
结果:
<table>
<tr>
<td>DATE</td>
<td>KODE</td>
<td>DESC</td>
</tr>
<tr>
<td>2019-11-20</td>
<td>ISO123</td>
<td>Test</td>
</tr>
<tr>
<td></td>
<td></td>
<td>Row</td>
</tr>
<tr>
<td></td>
<td>DEF00</td>
<td>Column</td>
</tr>
<tr>
<td>2019-11-21</td>
<td>CCV09</td>
<td>Change</td>
</tr>
<tr>
<td></td>
<td></td>
<td>Value</td>
</tr>
<tr>
<td></td>
<td>TRI124</td>
<td>Hide</td>
</tr>
<tr>
<td></td>
<td></td>
<td>Duplicate</td>
</tr>
</table>
尝试以下代码:
$prev_tg1 = $prev_kode = ''; //Create Placeholders.
while($rs=mysqli_fetch_assoc($qs)) {
$tgl = date("d.m.y",strtotime($rs['tgl']));
$kode = $rs['kode'];
$desc = $rs['desc'];
if( $prev_tg1 == $tg1 ) { //Check same as previous
$tg1 = ''; //set it to empty if same
} else {
$prev_tg1 = $tg1; //Update the Placeholder
}
if( $prev_kode == $kode ) {
$kode = '';
} else {
$prev_kode = $kode;
}
echo "<tr><td>$tgl</td><td>$kode</td><td>$desc</td></tr>";
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句