私は CI を使用する新しい学習者です。リンクをクリックしてコントローラーで関数を呼び出してデータベースに挿入する方法について質問があります。ビューで関数を呼び出す適切な方法ではないスレッドをいくつか見つけましたが、代わりに、どのようにすればよいでしょうか私はこのような目的を達成しますか?これはより動的な方法です。
コントローラ:
class Pages extends CI_Controller{
public function view($page='home'){
if(!file_exists('application/views/pages/'.$page.'.php')){
show_404();
}
$data['title'] = ucfirst($page);
$this->load->helper('url');
$this->load->model('getdb');
$data['results'] = $this->getdb->getAll();
$this->load->view('templates/header', $data);
$this->load->view('inc/mainmenu', $data);
$this->load->view('pages/'.$page, $data);
$this->load->view('templates/footer', $data);
//$this->insertValues();
}
function insertValues(){
$this->load->model('getdb');
$newRow = array(
'name' => 'andy'
);
$this->getdb->insert1($newRow);
echo "inserted!";
}
}
モデル getdb:
class Getdb extends CI_Model {
function getAll(){
$query = $this->db->query('SELECT * FROM test');
return $query->result();
}
function insert1($data){
$this->db->insert('test', $data);
}
}
View で、リンクをクリックして insertValues() 関数をトリガーしたいのですが、
<h1>Insert into DB</h1>
<p><a href="" >Insert single row</a></p>
親切にアドバイスしてください、ありがとう。