下面的代码使用CodeIgniter jQuery Ajax方法将数据发布到控制器。点击提交后输入的值显示。我不仅要显示用户输入的值,还要将此值与数据库中的数据进行比较,如果输入的值存在于数据库中,则表单应显示如果值不存在,则表单不应显示但是应该仍然显示值。我有模型检查值,但我不知道如何在控制器中使用。
非常感谢您的帮助!
控制器
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
public function __construct()
{
parent::__construct();
$this->load->model('get_value');
}
class Ajax_Post_Controller extends CI_Controller {
// Show view Page
public function index(){
$this->load->view("ajax_post_view");
}
// This function call from AJAX
public function user_data_submit() {
$data = array(
'username' => $this->input->post('name')
);
echo json_encode($data);
}
}
查看
<script type="text/javascript">
// Ajax post
$(document).ready(function() {
$(".submit").click(function(event) {
event.preventDefault();
var user_name = $("input#name").val();
jQuery.ajax({
type: "POST",
url: "<?php echo base_url(); ?>" + "index.php/ajax_post_controller/user_data_submit",
dataType: 'json',
data: {name: user_name},
success: function(res) {
if (res)
{
// Show Entered Value
jQuery("div#result").show();
jQuery("div#value").html(res.username);
}
}
});
});
});
</script>
<?php
// Form Open
echo form_open();
// Name Field
echo form_label('User Name');
$data_name = array(
'name' => 'name',
'class' => 'input_box',
'placeholder' => 'Please Enter Name',
'id' => 'name'
);
echo form_input($data_name);
echo "<br>";
?>
</div>
<div id="form_button">
<?php echo form_submit('submit', 'Submit', "class='submit'"); ?>
</div>
<?php
// Form Close
echo form_close(); ?>
模型
function get_search_form() {
$match = $this->input->post('name');
$this->db->where('name',$match);
$query = $this->db->get('transaction');
return $query->result();
答案 0 :(得分:0)
使用$this->load->model('get_value')
加载模型后
您可以使用指代您的模型的this->get_value
我们假设我们有这个简单的codeigniter User
模型:
class User extends CI_Model{
function __construct(){
parent::__construct();
}
function checkUser($id){
// here some code to check if the user exists in db
}
function addUser($data){
// here some code to add users
}
// ... and here other methods to do the other 'crud' operations
}
当您在控制器中加载以前的型号时, 你可以调用它来检查用户是否存在,如下例所示:
class Home extends CI_Controller{
function __construct(){
parent::__construct();
// load the user model
$this->load->model('User');
}
function checkUser($id){
// now make use of the 'User model'
if(this->User->checkUser($id)){
// display the appropriate message
}
}
}
希望这有帮助。