簡體   English   中英

PHP / AJAX:在 AJAX 上刪除不成功

[英]PHP / AJAX: Delete unsuccessful at AJAX

目前,我創建了一個具有 AJAX 功能的系統。 更清楚地說,以下是我當前的流程:

1)dashboard.php 將顯示 3 個選擇選項,即團隊、時間從和時間到

2) 用戶需要完成所有 3 個選擇選項並單擊“搜索”按鈕。 此時所在的AJAX(range.php)。

3) 將列出所有數據行,每個數據都有一個刪除按鈕。 用戶可以根據數據行刪除數據。

我的問題是,數據沒有被刪除。

下面是我目前的代碼。

儀表盤.php

      <select class="form-control"  name="team" id="team">
        <option value="">Please select...</option>
        <?php foreach ($data as $row2): ?>
        <option value= <?php echo $row2["team_id"]; ?> <?php echo (($_GET["team"] ?? '') == $row2["team_id"]) ? 'selected' : ''; ?> ><?php echo $row2["fullname"]; ?></option>
        <?php endforeach ?>
      </select>
    <td width="1%"></td>
    </td>
    <td width="20%"><input type="text" name="from" id="from" class="form-control" placeholder="From" value = '<?php echo $_GET["from"] ?? ''; ?>'></td>
    <td width="1%"></td>
    <td width="20%"><input type="text" name="to" id="to" class="form-control" placeholder="To" value = '<?php echo $_GET["to"] ?? ''; ?>'></td>
    <td width="1%"></td>
    <td width="10%"><input type="button" name="range" id="range" value="Search" class="btn btn-primary"><td>
  </tr>
</table><br>
<div id = "dashboard">

<script>
$(document).ready(function(){
  $.datepicker.setDefaults({
    dateFormat: 'yy-mm-dd'
  });
  $(function(){
    $("#from").datepicker().attr("autocomplete", "off");;
    $("#to").datepicker().attr("autocomplete", "off");;
  });
  $('#range').click(function(){
    var from = $('#from').val();
    var to = $('#to').val();
    var team = $('#team').val();
    if(from != '' && to != '' && team != '')
    {
      $.ajax({
        url:"range.php",
        method:"POST",
        data:{from:from, to:to, team:team},
        success:function(data)
        {
          $('#dashboard').html(data);
        }
      });
    }
    else
    {
      alert("Please select both team and date range");
    }
  });

  if($('#from').val() && $('#to').val() && $('#team').val()){

    $('#range').click();

  }

});
</script>

range.php (AJAX)

<?php

require_once "../../../config/configPDO.php";
require_once "../../../config/check.php";

$email = $_SESSION['login_user'];


if(isset($_POST["from"], $_POST["to"], $_POST["team"]))
{

$result = '';
$query = "SELECT * FROM ot_report LEFT JOIN ot_users ON ot_report.badgeid = ot_users.badgeid WHERE ot_users.team_id = '".$_POST['team']."' AND report_date BETWEEN '".$_POST["from"]."' AND '".$_POST["to"]."' ORDER BY ot_report.report_date DESC";
$sql = $conn->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
$sql -> execute();


if($sql->rowCount() > 0)
{
    echo'

    <form method="post" action="">
    <div class="row" style="height: 300px; overflow-y: scroll;">
    <div class="col-lg-12 grid-margin stretch-card">
    <table class = "table-bordered" width = "100%">
    <thead>
    <tr>
    <th>id</th>
    <th>Date</th>
    <th>Status</th>
    <th colspan = "2" width = "7%">Action</th>
    </tr>
    </thead>
    <tbody>';

    while($row = $sql->fetch(PDO::FETCH_ASSOC))
    {
        $datereport = $row['report_date'];
        $datereport2 = strtotime($datereport);
        $report_date = date('d M Y', $datereport2);

        $report_id = $row["report_id"];

        echo'<tr>';

            echo '<td>'.$report_id.'</td>';
            echo '<td>'.$report_date.'</td>';
            echo '<td align="center">';
            echo '<a class="btn-view btn-primary btn-sm" href="view_task/view_task.php?report_id='. $report_id .'" data-toggle="tooltip">View</a></td>';

            echo '<td align="center">';
            echo '<form action = "delete_ajax.php" method = "post" onSubmit=\"return confirm("Do you want to delete this report?")\">';
                echo '<input type = "hidden" name = "from" value = "'.$_POST["from"].'">';
                echo '<input type = "hidden" name = "to" value = "'.$_POST["to"].'">';
                echo '<input type = "hidden" name = "team" value = "'.$_POST["team"].'">';
                echo '<input type = "hidden" name = "report_id" value = "'.$report_id.'">';
                echo '<button type = "submit" class="btn-danger">Delete</button>';
            echo '</form>';

            echo '</td>';

        echo '</tr>';

    }

}

delete_ajax.php

  <?php

  require_once '../../../config/configPDO.php';

  $report_id = $_POST['report_id'];

  $sql = "DELETE FROM ot_report WHERE report_id=:report_id";
  $query = $conn->prepare($sql);
  $query->execute(array(':report_id' => $report_id));

  header("Location: dashboard_engineer.php?from='".$_POST["from"]."'&to='".$_POST["to"]."' &team='".$_POST["team"]."'");

  ?>

誰能知道是什么問題? 數據無法刪除!。 幫助任何人

也許這是因為在 range.php 文件中你有 2 個表單標簽

首先是外面的 while 功能

<form method="post" action="">

第二個在 while 函數中

<form action = "delete_ajax.php" method = "post" onSubmit=\"return confirm("Do you want to delete this report?")\">

嘗試刪除第一個

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM