【发布时间】:2015-07-16 07:40:15
【问题描述】:
我有一个引导框对话框,在名为table_data.php 的视图中带有一个名为“保存”的按钮,我想根据从数据库获得的结果确定是否将 Ajax 发布到数据库。
我希望仅当home_model.php 中的数据库查询不返回任何行时才保存数据。但是,当我这样做时,它不起作用。它是一个 cms,我正在使用 codeigniter 框架。
我的页面是空白的。什么都没有出现。请帮我。我是网络新手,对 JavaScript 和 php 的经验很少,刚开始使用 ajax。您的帮助将不胜感激。
table_data.php(视图)
bootbox.dialog({
message: '<div class="row"> ' +
'<div class="col-md-12"> ' +
'<form class="form-horizontal"> ' +
'<div class="form-group"> ' +
'<label class="col-md-4 control-label" for="awesomeness">Table ID: </label> ' +
'<div class="col-md-4">' +
'<input id="idtable" type="text" value="'+table_column_15+'"/>' +
'</div><br>' +
'</div>'+
'</form> </div> </div>',
title: "Form",
buttons: {
success: {
label: "Save",
className: "btn-success",
callback: function() {
console.log('save');
console.log($('#re_confirm')[0].checked);
var valueid = document.getElementById('idtable').value
if(valueid == 0)
myFunction();
var valueid2 = document.getElementById('idtable').value
if(valueid2==0)
return;
$.ajax({
url: "<?php echo base_url(); ?>index.php/home/check_occupied",
type: "post", // To protect sensitive data
data: {
"table_id" : valueid2
"session_id" : table_column_15
//and any other variables you want to pass via POST
},
success:function(response){
// Handle the response object
console.log(response);
var check = $(response);
}
});
if(check==0)
return;
$.ajax({
url : "<?php echo base_url(); ?>index.php/home/update_booking",
type: "post",
data: {
"table_id" : $('#idtable').val(),
},
success: function(response){
...
}
});
}
},
...
,
...
}
});
home_model.php(模型)
public function check_occupied($tableid,$sessionid)
{
$sql = "SELECT * FROM booking WHERE table_id=$tableid and session=$sessionid;
$query = $this->db->query($sql);
if ($query->num_rows() > 0)
$imp = 1;
else
$imp = 0;
return $imp;
}
home.php(控制器)
public function check_occupied()
{
$tableid = $_POST['table_id'];
$sessionid = $_POST['session_id'];
$imp = $this->home_model->check_occupied($tableid,$sessionid);
$this->load->view('table_data', $imp);
}
【问题讨论】:
-
$sql = "SELECT * FROM booking WHERE table_id=$tableid and session=$sessionid";的语法错误忘记关闭双引号 -
但它仍然不起作用 - 似乎问题来自 table_data.php(视图)
-
什么问题??你检查过你的控制台吗??
-
$.ajax({ url: "index.php/home/check_occupied", type: "post",data: { "table_id" : valueid2 " session_id" : table_column_15 }, success:function(response){ console.log(response); var check = $(response); } });
-
问题似乎在那里
标签: php ajax codeigniter