удаление строки таблицы на странице php (не базы данных) и возможность не отображать ее обратно после перезагрузки страницы - PullRequest
0 голосов
/ 26 октября 2018

У меня есть страница с именем fetch as belllow:

$statement = $connection->prepare($query);
  $statement->execute();
  $result = $statement->fetchAll();
  $data = array();
  $filtered_rows = $statement->rowCount();
 foreach($result as $row){

$sub_array = array();
$sub_array[] = $row["id"];
$sub_array[] = $row["first_name"];
$sub_array[] = $row["last_name"];
$sub_array[] = '<input type="checkbox" name="confirm" id="'.$row["id"].'" class="btn btn-danger btn-xs delete"></input>';
$data[] = $sub_array;
}
      $output = array(
     "draw" =>  intval($_POST["draw"]),
"recordsTotal"=> $filtered_rows,
"recordsFiltered"=> get_total_all_records(),
"data"  =>  $data
);   echo json_encode($output);

, и на индексной странице есть функция, которая вызывает страницу удаления:

    $(document).on('click', '.delete', function(){
    var user_id = $(this).attr("id");
    if(confirm("Are you sure you want to delete this?"))
    {
        $.ajax({
            url:"delete.php",
            method:"POST",
            data:{user_id:user_id},
            success:function(data)
            {
                alert(data);
                dataTable.ajax.reload();
            }
        });
    }
    else
    {
        return false;   
    }
});

, и страница удаления выглядиткак это:

if(isset($_POST["user_id"])){

$statement = $connection->prepare(
    "DELETE FROM users WHERE id = :id"
);
$result = $statement->execute(
    array(
        ':id'   =>  $_POST["user_id"]
    )
);

if(!empty($result))
{
    echo 'Data Deleted';
}}

также в базе данных, у меня есть таблица с 4 столбцами id, first_name, last_name и check_in (логическое значение).Все, что я хочу сделать, это скрыть данные, отображаемые в базе данных, если я поставлю флажок, даже после перезагрузки страницы.до сих пор я просто могу их удалить.или если я добавлю эту функцию:

$(document).ready(function(){

    $("#myTable").on('click','.del',function(){
     $(this).closest('tr').hide();
     });
 });

Я могу скрыть их, но они вернулись после перезагрузки страницы

1 Ответ

0 голосов
/ 26 октября 2018

@ User10: (1) Ваши js в ajax, data: {user_id: user_id} .. где user_id из вашей таблицы, потому что это просто id (2) лучше поставить dataType: "json" (в ajax)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...