yaleksandr89
@yaleksandr89
PHP developer

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

Здравствуйте.
Как реализовать удаление записи из таблицы через админку


Есть таблица result, она состоит из:
В админке информацию подгружаю следующим образом: id_shorter(id), dt (время добавления), external_url(внешняя ссылка), created_short_id(id сокращенной ссылки).
таблица result

5da329cc36aab927789898.png


Информацию из бд подгружаю следующим образом:
Вывод информации

<table class="table view_list">
    <thead class="thead-dark">
    <tr>
        <th scope="col">Created date</th>
        <th scope="col">External url</th>
        <th scope="col">Short url</th>
        <th scope="col" class="text-center">Operations</th>
    </tr>
    </thead>
    <tbody>
    <?php foreach ($sth as $value): ?>
        <tr>
            <td><?= dateMysqlConvert($value['dt']) ?></td>
            <td>
                <a href="<?= $value['external_url'] ?>" target="_blank"><?= $value['external_url'] ?></a>
            </td>
            <td>
                <a href="<?= 'r_' . $value['created_short_id'] ?>"
                   target="_blank"><?= "http://{$_SERVER['HTTP_HOST']}/r_{$value['created_short_id']}" ?></a>
            </td>
            <td class="text-center">
                <a href="#" class="badge badge-danger badge_custom">
                    <i class="fas fa-trash-alt fa_pencil_alt_custom"></i>
                </a>
            </td>
        </tr>
    <?php endforeach; ?>
    </tbody>
</table>


Визуально это выглядит

5da328e63b7d0629341603.png


Как правильно реализовать удаление каждой записи по отдельности (в html разметке я для это выделил (на скрине, как не трудно догадаться это корзина :) ):
<td class="text-center">
                <a href="#" class="badge badge-danger badge_custom">
                    <i class="fas fa-trash-alt fa_pencil_alt_custom"></i>
                </a>
            </td>


Возможно это не правильно и вывод информации нужно сделать, как-то иначе. Ранее с такой задачей не сталкивался поэтому встрял на этом вопросе.

Пробовал на
<a href="#" class="badge badge-danger badge_custom">
(href) вещать удаление. Но так, как вывод информации идет в цикле, то при загрузке админки, цикл проходит и удаляет все записи), а как сделать иначе - не догнать :(
  • Вопрос задан
  • 103 просмотра
Решения вопроса 2
glaphire
@glaphire Куратор тега PHP
PHP developer
Стандартно выглядит так: на иконки вида "просмотр", "редактирование", "удаление" вешаются ссылки с урлом, который ведут на экшен выполнения этого действия и прокидывается id записи.
В вашем случае надо:
<td class="text-center">
       <a href="/action-to-delete-row?id=123" class="badge badge-danger badge_custom">
            <i class="fas fa-trash-alt fa_pencil_alt_custom"></i>
       </a>
</td>


В файле, который открывается по урлу "/action-to-delete-row", описываете логику удаления записи с переданным через гет-параметр id.
Удобнее будет сгенерировать страницу админки с готовыми урлами такого рода.
Ответ написан
Kulaxyz
@Kulaxyz
Могу лучше
Покажи, как удалять хотел, ты сам SQL-запрос хотел засунуть в тег a или как? Идея основная в том, чтобы в место, где ты делаешь удаление просто вставить $value['id_shorten'] и потом запрос сочтавлять использует WHERE id_shorten = *принятое значение*
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы