如何在 table 行内使用 if elseif 而不创建新行?
How to use if elseif inside table row without making a new row?
我想制作一个可以在 table 行中使用 if else if
的代码。
但我做不到,一旦我在 table 行中使用 else if
语句,它就会自行创建一个新行。
我希望它在同一行中创建一个新列
这是一个代码
<tbody>
<?php $i = 1;
$varpetugas = null;
$varrealisasi = null;
?>
<?php foreach ($petugas as $k) : ?>
<tr>
<?php if ($k['nama_petugas'] != $varpetugas) : ?>
<th scope="row"><?= $i++; ?></th>
<td><?= $k['jenis_survey']; ?></td>
<td>
<?= $k['nama_petugas']; ?>
<?php $varpetugas = $k['nama_petugas']; ?></td>
<td><?= $k['target']; ?></td>
<td><?= $k['realisasi']; ?></td>
<?php $varrealisasi = $k['realisasi']; ?>
<?php elseif ($k['nama_petugas'] == $varpetugas) : ?>
<td>
<?= $k['target']; ?>
</td>
<td>
<?= $k['realisasi']; ?>
</td>
<?php $varrealisasi = $k['realisasi']; ?>
<?php $varpetugas = $k['nama_petugas']; ?>
<?php endif; ?>
</tr>
<?php endforeach; ?>
</tbody>
如您所见,我所期望的是 else if
语句在同一行中显示输出,但是,这是结果
每次循环时(foreach
之后的下一行),你都做新行(<tr>
)。
但是你想要做的是仅当条件 (<?php if ($k['nama_petugas'] != $varpetugas) : ?>
) 为真时才拥有它。
试试这个:
<?php foreach ($petugas as $k) : ?>
<?php if ($k['nama_petugas'] != $varpetugas) : ?>
<?php if ($i > 1) : ?>
</tr>
<?php endif; ?>
<tr>
<th scope="row"><?= $i++; ?></th>
<td><?= $k['jenis_survey']; ?></td>
<td>
<?= $k['nama_petugas']; ?>
<?php $varpetugas = $k['nama_petugas']; ?></td>
<td><?= $k['target']; ?></td>
<td><?= $k['realisasi']; ?></td>
<?php $varrealisasi = $k['realisasi']; ?>
<?php elseif ($k['nama_petugas'] == $varpetugas) : ?>
<td>
<?= $k['target']; ?>
</td>
<td>
<?= $k['realisasi']; ?>
</td>
<?php $varrealisasi = $k['realisasi']; ?>
<?php $varpetugas = $k['nama_petugas']; ?>
<?php endif; ?>
<?php endforeach; ?>
<?php if ($i > 1) : ?>
</tr>
<?php endif; ?>
PS: 为什么会有elseif
?你可以简单地做 else
。不是吗?
我想制作一个可以在 table 行中使用 if else if
的代码。
但我做不到,一旦我在 table 行中使用 else if
语句,它就会自行创建一个新行。
我希望它在同一行中创建一个新列
这是一个代码
<tbody>
<?php $i = 1;
$varpetugas = null;
$varrealisasi = null;
?>
<?php foreach ($petugas as $k) : ?>
<tr>
<?php if ($k['nama_petugas'] != $varpetugas) : ?>
<th scope="row"><?= $i++; ?></th>
<td><?= $k['jenis_survey']; ?></td>
<td>
<?= $k['nama_petugas']; ?>
<?php $varpetugas = $k['nama_petugas']; ?></td>
<td><?= $k['target']; ?></td>
<td><?= $k['realisasi']; ?></td>
<?php $varrealisasi = $k['realisasi']; ?>
<?php elseif ($k['nama_petugas'] == $varpetugas) : ?>
<td>
<?= $k['target']; ?>
</td>
<td>
<?= $k['realisasi']; ?>
</td>
<?php $varrealisasi = $k['realisasi']; ?>
<?php $varpetugas = $k['nama_petugas']; ?>
<?php endif; ?>
</tr>
<?php endforeach; ?>
</tbody>
如您所见,我所期望的是 else if
语句在同一行中显示输出,但是,这是结果
每次循环时(foreach
之后的下一行),你都做新行(<tr>
)。
但是你想要做的是仅当条件 (<?php if ($k['nama_petugas'] != $varpetugas) : ?>
) 为真时才拥有它。
试试这个:
<?php foreach ($petugas as $k) : ?>
<?php if ($k['nama_petugas'] != $varpetugas) : ?>
<?php if ($i > 1) : ?>
</tr>
<?php endif; ?>
<tr>
<th scope="row"><?= $i++; ?></th>
<td><?= $k['jenis_survey']; ?></td>
<td>
<?= $k['nama_petugas']; ?>
<?php $varpetugas = $k['nama_petugas']; ?></td>
<td><?= $k['target']; ?></td>
<td><?= $k['realisasi']; ?></td>
<?php $varrealisasi = $k['realisasi']; ?>
<?php elseif ($k['nama_petugas'] == $varpetugas) : ?>
<td>
<?= $k['target']; ?>
</td>
<td>
<?= $k['realisasi']; ?>
</td>
<?php $varrealisasi = $k['realisasi']; ?>
<?php $varpetugas = $k['nama_petugas']; ?>
<?php endif; ?>
<?php endforeach; ?>
<?php if ($i > 1) : ?>
</tr>
<?php endif; ?>
PS: 为什么会有elseif
?你可以简单地做 else
。不是吗?