Как удалить конкретную строку в таблице базы данных
Я создал пользовательскую страницу профиля на основе текущего авторизованного пользователя, чтобы отображать только его данные, добавленные в пользовательскую базу данных.
Вы можете видеть, что в каждой строке я добавил кнопку "Удалить", но без соответствующего кода.
Всё работает хорошо, кроме части, где я хочу добавить функцию удаления записи. Возможно, $wpdb->delete() решит мою проблему.
Вот мой код:
if ( is_user_logged_in() ) {
global $wpdb;
$current_user = wp_get_current_user();
$username = $current_user->user_login;
$reservations = $wpdb->get_results($wpdb->prepare("SELECT * FROM
SaveContactForm7_1 WHERE user = %s", $username));
echo "<div align='center'>";
echo "<table class='responsive-table'>";
echo "<caption>Список бронирований</caption>";
echo "<thead>";
echo "<tr>";
echo "<th scope='col'>Имя</th>";
echo "<th scope='col'>ID</th>";
echo "<th scope='col'>Качество</th>";
echo "<th scope='col'>Прибытие</th>";
echo "<th scope='col'>№ Рейса</th>";
echo "<th scope='col'>Время прил.</th>";
echo "<th scope='col'>Откуда</th>";
echo "<th scope='col'>Отправление</th>";
echo "<th scope='col'>№ Рейса</th>";
echo "<th scope='col'>Время выл.</th>";
echo "<th scope='col'>Куда</th>";
echo "<th scope='col'>Отель</th>";
echo "<th scope='col'>Комната</th>";
echo "<th scope='col'>Итого</th>";
echo "<th scope='col'>Изменить</th>";
echo "<th scope='col'>Удалить</th>";
echo "</tr>";
echo "</thead>";
foreach($reservations as $reservation){
echo "<tbody>";
echo "<tr>";
echo "<th scope='row'>".$reservation->nom."</th>";
echo "<td data-title='ID'>".$reservation->user."</td>";
echo "<td data-title='Качество'>".$reservation->qualite."</td>";
echo "<td data-title='Прибытие'>".$reservation->datearrivee."</td>";
echo "<td data-title='№ Рейса'>".$reservation->num_vol_arrivee."</td>";
echo "<td data-title='Время посадки'>".$reservation->heure_atterrissage."
</td>";
echo "<td data-title='Откуда'>".$reservation->provenance."</td>";
echo "<td data-title='Отправление'>".$reservation->datedepart."</td>";
echo "<td data-title='№ РЕЙСА'>".$reservation->num_vol_depart."</td>";
echo "<td data-title='Время вылета'>".$reservation->heure_decollage."
</td>";
echo "<td data-title='Направление'>".$reservation->destination."
</td>";
echo "<td data-title='Выбор'>".$reservation->choix."</td>";
echo "<td data-title='Комната'>".$reservation->typech."</td>";
echo "<td data-title='Общая цена' data-type='currency'>".$reservation-
>calculated_choix."</td>";
А вот часть с "Удалить":
echo "<td align='center'>
<***Мне нужен код здесь "input" или "a href" ***><img class='icon' width='16' height='16'
src='../remove-icon.png' alt='Удалить' title='Удалить'></a>
</td>";
echo "</tr>";
echo "</tbody>";
}
echo "</table>";
echo "</div>";
}

Да, вы можете использовать wpdb для удаления записи в пользовательской таблице. Вот пример функции в WordPress:
require_once ('../../../../wp-load.php');
if (!empty($_POST['id'])) {
global $wpdb;
$table='table_name';
$id = $_POST['id'];
$wpdb->delete( $table, array( 'id' => $id ) );
}

клиентская сторона —> пользователь нажимает кнопку/ссылку удаления
AJAX —> отправляет это действие с клиентской стороны на серверную для выполнения php-функции, удаляющей соответствующую строку из базы данных
серверная сторона —> функция для удаления строки из базы данных
$wpdb->delete()
успешный AJAX-запрос —> скрывает эту строку на клиентской странице и обновляет только эту часть страницы
проверьте эту ссылку
