AJAX使用CodeIgniter删除



嗨,我有此删除的东西,然后在Ajax上使用它来删除数据。我的问题是,它不会在数据库上删除,当我刷新浏览器时,数据保留时,有人可以帮助我弄清楚这件事吗?这是我的控制器下面的控制器

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
session_start();
class News_and_events extends CI_Controller {
  public function __construct(){
      parent::__construct();
      $this->load->library('form_validation');
      $this->load->model('admin_model', 'am');
  }
  public function index(){
    if($this->session->userdata('logged_in')){
      $this->data['title'] = 'News and Events | Spring Rain Global Consultancy Inc Admin Panel';
      $this->data['logout'] = 'Logout';
      $session_data = $this->session->userdata('logged_in');
      $this->data['id'] = $session_data['id'];
      $this->data['username'] = $session_data['username'];
      $this->data['allData'] = $this->am->getAllData();

      $this->load->view('pages/admin_header', $this->data);
      $this->load->view('content/news_and_events', $this->data);
      $this->load->view('pages/admin_footer');
    }else{
      redirect('login', 'refresh');
    }
  }
  public function add(){
    if($this->session->userdata('logged_in')){
      $this->form_validation->set_rules('date', 'Date', 'trim|required|xss_clean');
      $this->form_validation->set_rules('event', 'Event', 'trim|required|xss_clean');
      $this->form_validation->set_rules('description', 'Description', 'trim|required|xss_clean');
      if($this->form_validation->run() == FALSE){
         $this->data['title'] = 'News and Events | Spring Rain Global Consultancy Inc Admin Panel';
         $this->data['logout'] = 'Logout';
          $session_data = $this->session->userdata('logged_in');
          $this->data['id'] = $session_data['id'];
          $this->data['username'] = $session_data['username'];
          $this->data['allData'] = $this->am->getAllData();
          $this->load->view('pages/admin_header', $this->data);
          $this->load->view('content/news_and_events', $this->data);
          $this->load->view('pages/admin_footer');
      }else{
        $array = array(
                  'Date' => $this->input->post('date'),
                  'Event' => $this->input->post('event'),
                  'Description' => $this->input->post('description')
                );
        $this->am->saveData($array);
        $this->session->set_flashdata('add_another',1);
        redirect('news_and_events', 'refresh');
      }
    }else{
      redirect('homepage', 'refresh');
    }
  }
  public function delete(){
    $id = $this->uri->segment(2);
    $this->am->delete($id);
    redirect(base_url().'news-and-events');
  }
}

和我的观点

<script type="text/javascript">
  $(document).ready(function(){
    $("#add_another").click(function(){
    });
  });
  function goDelete(id){
    var agree = confirm("Are you sure you want to delete this?");
    if(agree){
      $("#news-and-event"+id).fadeOut('slow');
      $.post('<?php echo base_url().'news-and-events/delete/'?>', {id:id}, function(){
      });
    }else{
      return false;
    }
  }
</script>
 <div class="container" >
    <br />
    <br />
    <br />
    <ul id="nav">
     <li><a href="<?php echo base_url().'homepage'?>" title="Home"><h4>Home</h4></a></li>
     <li><a href="<?php echo base_url().'news-and-events'?>" title="News and Events"><h4>News and Events</h4></a></li>
     <li><a href="" title="Activities"><h4>Activities</h4></a></li>
    </ul>
    <div class="starter-template">
      <h1>News And Events</h1>
      <?php if(!$this->session->flashdata('add_another')):?>
        <form action="<?php echo base_url().'news-and-events/add'?>" method="post">
           <?php echo validation_errors('<div class="error">', '</div>');?>
          <table class="table-striped">
            <tr>
              <td>Date: </td>
              <td><input type="text" id="datepicker" name="date" value="<?php echo set_value('date');?>" /></td>
            </tr>
            <tr>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <td >Event: </td>
              <td ><input  type="text" name="event" value="<?php echo set_value('event');?>" /></td>
            </tr>
            <tr>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <td width="20%">Description: </td>
              <td><textarea cols="30" rows="5" name="description" ><?php echo set_value('description');?></textarea></td>
            </tr>
             <tr>
              <td width="20%">&nbsp;</td>
              <td><input type="submit" value="Add" class="btn btn-success" /></td>
            </tr>
          </table>
        </form>
       <?php else: ?>
         <div id="add_another" style="float:left;">
            <input  type="button" value="Add Another" class="btn btn-primary" />
          </div>
        <?php endif; ?>
      <br />
      <br />
      <table class="table" >
        <tr>
          <th>Date</th>
          <th width="47%" >Event</th>
          <th width="32%">Description</th>
          <th>Options</th>
        </tr>
        <?php foreach($allData as $x => $allDatas): ?>
        <tr id="news-and-event<?php echo $allDatas->id; ?>">
          <td width="10%"><?php echo $allDatas->Date; ?></td>
          <td style="text-align:left;"><?php echo $allDatas->Event; ?></td>
          <td style="text-align:left;"><?php echo $allDatas->Description; ?></td>
          <td width="10%">
            <a href="<?php echo base_url().'news-and-events/edit/id/'.$allDatas->id;?>">Edit</a> |
            <a href="javascript:;" onclick="return goDelete('<?php echo $allDatas->id;?>');" >Delete</a>
          </td>
        </tr>
        <?php endforeach; ?>
      </table>
    </div>
  </div><!-- /.container -->
<script> 
      var date = new Date();
      var currentMonth = date.getMonth();
      var currentDate = date.getDate();
      var currentYear = date.getFullYear();
      $('#datepicker').datepicker({
        minDate: new Date(currentYear, currentMonth, currentDate),
        dateFormat: "yy-mm-dd"
      });
</script>

和我的模型删除数据库

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
Class Admin_model extends CI_Model{
    public function saveData($array){
      $this->db->insert('news_and_updates', $array);
    }
    public function getAllData(){  
      return $this->db->order_by("Date", "desc")
                      ->get('news_and_updates')
                      ->result_object();
    }
    public function delete($id){
      $this->db->where('id', $id)->delete('news_and_updates');
    }
}
?>

im使用$ this-> uri->段(2);有帮助吗?非常感谢谢谢

您正在通过POST发送数据,但是您正在尝试根据uri segment删除数据。而不是在控制器中尝试一下:

  public function delete(){
    $id = $this->input->post('id');
    $this->am->delete($id);
    redirect(base_url().'news-and-events');
  }

最新更新