2016-10-01 34 views
1

我是PHP和CodeIgniter的新手。我一直在試圖在柱表中添加一個新數據,或者編輯一些數據而沒有成功。事情是我可以刪除數據就好了。所以我不知道問題是什麼。CodeIgniter添加和更新數據庫沒有成功,沒有錯誤,沒有,只是不會工作

Stud_controller

<?php 
class Stud_controller extends CI_Controller { 
    function __construct(){ 
     parent::__construct(); 

     $this->load->helper('url'); 
     $this->load->database(); 
    } 

    public function index(){ 
     $query = $this->db->get('stud'); 
     $data['records'] = $query->result(); 
     $this->load->helper('url'); 
     $this->load->view('Stud_view', $data); 
    } 

    public function add_student_view(){ 
     $this->load->helper('form'); 
     $this->load->view('Stud_add'); 
    } 

    public function add_student(){ 
     $this->load->model('Stud_Model'); 
     $data = array(
      'roll_no' => $this->input->post('roll_no'), 
      'name' => $this->input->post('name') 
     ); 
     $this->Stud_Model->insert($data); 
     $query = $this->db->get('stud'); 
     $data['records'] = $query->result(); 
     $this->load->view('Stud_view', $data); 
    } 

    public function update_student_view(){ 
     $this->load->helper('form'); 
     $roll_no = $this->uri->segment('3'); 
     $query = $this->db->get_where('stud', array('roll_no' => $roll_no)); 
     $data['records'] = $query->result(); 
     $data['old_roll_no'] = $roll_no; 
     $this->load->view('Stud_edit', $data); 
    } 

    public function update_student(){ 
     $this->load->model('Stud_Model'); 
     $data = array(
       'roll_no' => $this->input->post('roll_no'), 
       'name' => $this->input->post('name') 
     ); 
     $old_roll_no = $this->input->post('old_roll_no'); 
     $this->Stud_Model->update($data, $old_roll_no); 
     $query = $this->db->get('stud'); 
     $data['records'] = $query->result(); 
     $this->load->view('Stud_view', $data); 
    } 

    public function delete_student(){ 
     $this->load->model('Stud_Model'); 
     $roll_no = $this->uri->segment('3'); 
     $this->Stud_Model->delete($roll_no); 
     $query = $this->db->get('stud'); 
     $data['records'] = $query->result(); 
     $this->load->view('Stud_view', $data); 
    } 
} 
?> 

Stud_Model

<?php 
class Stud_Model extends CI_Model { 
    function __construct(){ 
     parent::__construct(); 
    } 

    public function insert($data){ 
     if ($this->db->insert('stud', $data)){ 
      return true; 
     } 
    } 

    public function delete($roll_no){ 
     if ($this->db->delete('stud', 'roll_no =' . $roll_no)){ 
      return true; 
     } 
    } 

    public function update($data, $old_roll_no){ 
     $this->db->set($data); 
     $this->db->where('roll_no', $old_roll_no); 
     $this->db->update('stud', $data); 
    } 
} 
?> 

Stud_add

<!DOCTYPE HTML> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title>Students Example</title> 
</head> 
<body> 
    <form method = "" action = ""> 
     <?php 
     echo form_open('Stud_controller/add_student'); 
      echo form_label('Roll No.'); 
      echo form_input(array('id' => 'roll_no', 'name' => 'roll_no')); 
      echo "<br />"; 
      echo form_label('Name'); 
      echo form_input(array('id' => 'name', 'name' => 'name')); 
      echo "<br />"; 
      echo form_submit(array('id' => 'submit', 'value' => 'Submit')); 
     echo form_close(); 
     echo "<br />"; 
     echo "<a href='".base_url()."index.php'>Home</a></td>"; 
     ?> 
    </form> 
</body> 
</html> 

Stud_edit

<!DOCTYPE html> 
<html lang="eng"> 
<head> 
    <meta charset="utf-8"> 
    <title>Students Example</title> 
</head> 
<body> 
    <form action="" method=""> 
     <?php 
     echo form_open('Stud_controller/update_student'); 
     echo form_hidden('old_roll_no', $old_roll_no); 
     echo form_label('Roll No.'); 
     echo form_input(array('id'=>'roll_no', 'name'=>'roll_no', 'value'=>$records[0]->roll_no)); 
     echo "<br />"; 
     echo form_label('Name'); 
     echo form_input(array('id'=>'name', 'name'=>'name', 'value'=>$records[0]->name)); 
     echo "<br />"; 
     echo form_submit(array('id'=>'submit', 'value'=>'Submit')); 
     echo form_close(); 
     echo "<a href='".base_url()."index.php'>Home</a></td>"; 
     ?> 
</body> 
</html> 
+0

的問題肯定需要更好的說明。按照http://stackoverflow.com/help/how-to-ask中的說明操作 –

回答

1

嘗試是這樣的(控制器update_student)

$query = $this->Stud_Model->update($data, $old_roll_no); 
if ($query->result() { 
$data['records'] = $query->result(); 
} 
$this->load->view('Stud_view', $data); 

您不需要$查詢= $這個 - > DB->獲取( '釘');,因爲你模型應該返回。但是你的模型沒有返回任何東西 你必須用if語句啓動該方法。嘗試在你的其他功能,並確保你沒有更新控制器和模型。 另外,當提到您的類中的控制器和模型時,請使用小寫名稱。以下是不使用模型的插入示例。確保和驗證和逃避你的數據

function enterPosts() 
{ 
$this->is_logged_in(); 
$data = [ 
    'title' => html_escape(trim($this->input->post('title'))), 
    'content' => trim($this->input->post('content')), 
    'date' => html_escape(trim($this->input->post('date'))), 
    'parent' => html_escape(trim($this->input->post('parent'))), 
    'status' => html_escape(trim($this->input->post('status'))), 
    'slug' => trim($this->input->post('slug')) 
]; 

$this->form_validation->set_rules('title', 'Title', required|max_length[50]',)); 
$this->form_validation->set_rules('content', 'content', 'required|min_length[50]')); 
$this->form_validation->set_rules('date', 'Date', 'required'); 
$this->form_validation->set_rules('parent', 'Parent', 'required'); 
$this->form_validation->set_rules('status', 'Status', 'required'); 
$this->form_validation->set_rules('slug', 'Slug', required|trim|min_length[30]')); 
if($this->form_validation->run() == FALSE) { 
     echo validation_errors(); //or just load your form view 
    }else 
    { 
     $this->db->insert('posts', $data); 

    } 
} //end of enterposts 
0

正如你已經說你是新手,所以

就看出來這個頁面你definetly得到一些關

Link

相關問題