У меня есть динамическая форма c, в которой пользователи могут добавлять строки и отправлять эти данные в базу данных, а когда пользователи возвращаются на страницу формы, отправленные данные предварительно заполняют форму, в которую они могут обновить данные или добавить больше строк данных.
Если пользователь хочет удалить строку из базы данных, у меня есть кнопка удаления, которая изменяет значение формы «is_active» с «да» на «нет» для этой конкретной строки, и когда они отправляют форму, я хотите удалить строку, которая имеет значение сообщения 'is_active' 'нет'.
Я использую $ wpdb для замены строк, а также для их удаления. Код, который я закомментировал, заканчивает тем, что удаляет все строки в таблице, а не только те, у которых значение is_active post равно 'no'.
Вот мой код:
<?php
require_once '../../../wp-load.php';
global $wpdb;
$newdb = new wpdb( 'user' , 'pass' , 'table' , 'localhost' );
if(isset($_POST['submit'])) {
$username = $_POST['username'];
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$county = $_POST['county'];
$street = $_POST['street'];
$city = $_POST['city'];
$ward = $_POST['ward'];
$precinct = $_POST['precinct'];
$id = $_POST['id'];
$is_active = $_POST['is_active'];
if(is_array($_POST)) {
foreach($username as $index => $value) {
if (in_array("no", $_POST['is_active'], TRUE))
{
/* $newdb->delete( 'member_lists', array( 'id' => $id[$index])); */
$newdb->query(
$newdb->prepare(
"
DELETE FROM $newdb->member_lists
WHERE id = $id[$index]
AND $is_active[$index] = 'no'
"
)
);
$newdb->replace( 'member_lists',
array(
'id' => $id[$index],
'username' => $value,
'first_name' => $first_name[$index],
'last_name' => $last_name[$index],
'county' => $county[$index],
'street' => $street[$index],
'city' => $city[$index],
'ward' => $ward[$index],
'precinct' => $precinct[$index]
),
array(
'%s',
'%s',
'%s',
'%s',
'%s',
'%s',
'%s',
'%s',
'%s',
)
);
$wpdb->show_errors();
}
else{
$newdb->replace( 'member_lists',
array(
'id' => $id[$index],
'username' => $value,
'first_name' => $first_name[$index],
'last_name' => $last_name[$index],
'county' => $county[$index],
'street' => $street[$index],
'city' => $city[$index],
'ward' => $ward[$index],
'precinct' => $precinct[$index]
),
array(
'%s',
'%s',
'%s',
'%s',
'%s',
'%s',
'%s',
'%s',
'%s',
)
);
$wpdb->show_errors();
}
}
}
}
?>