Как использовать if elseif внутри строки таблицы без создания новой строки?

Я хочу создать код, который может использовать if else if внутри строки таблицы.

Но я не могу этого сделать, как только я использую оператор 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 покажет результат в той же строке, но вот результат

Как использовать if elseif внутри строки таблицы без создания новой строки?

предварительно нормализовать ваши данные / массив, поэтому вам нужно только выполнить foreach по каждой строке

Lawrence Cherone 30.03.2021 01:48
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
1
29
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы делаете новую строку (<tr>) каждый раз, когда выполняете цикл (следующая строка после foreach).

Но вы хотите, чтобы он был только тогда, когда условие (<?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. Не так ли?

это сработало. насчет else, если я действительно могу использовать else, но я хочу сделать еще один else if с другим условием для каждого столбца. Я застрял, когда хочу сделать условие внутри строки таблицы, поэтому я сделал пример, чтобы сделать это. спасибо, вы очень помогли.

tama 30.03.2021 02:43

Другие вопросы по теме