如何在 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。不是吗?