yaleksandr89
@yaleksandr89
Junior 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) вещать удаление. Но так, как вывод информации идет в цикле, то при загрузке админки, цикл проходит и удаляет все записи), а как сделать иначе - не догнать :(
  • Вопрос задан
  • 84 просмотра
Решения вопроса 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 = *принятое значение*
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
SaveTime Москва
от 160 000 руб.
SaveTime Москва
от 100 000 руб.
Teamlead Ставрополь
от 25 000 до 50 000 руб.
17 нояб. 2019, в 16:10
3500 руб./за проект
17 нояб. 2019, в 15:20
3000 руб./за проект
17 нояб. 2019, в 14:55
160 руб./за проект