我正在尝试输入一些数据,我将这些数据通过jquery.post发布到服务器中。
note = { // note object that will be sent to the server
title: $('input.xlarge').val(); ,
message: $('textarea.xlarge').val(); ,
}
$.post(link + "cart/addtodb", note,
function(data){
if(data == 'true'){
alert('Your note has been saved');
}else{
alert("Something went wrong");
}
});
这是我的codeigniter php代码,用于发送数据的控制器:
public function addtodb()
{
$note = $this->input->post('note');
$this->postit_model->addnote($note);
echo 'true'; //send true response to client after note has been added to db
}
现在我有一个名为posts的数据库表,其中包含以下字段:id, title, message.
我想将传递的数据集插入数据库。
问题: - 我发送到服务器的jQuery对象中的名称必须与数据库中的字段名称相同才能使用codeigniter $ this-> db-> insert('mytable',$ data);方法
- 我将如何插入值title
和message
而不明确指定我想要插入哪个id
以便将此数据集添加到数据库中第一个空位。
答案 0 :(得分:1)
将jQuery对象中的名称发送给 服务器必须与数据库中的字段名称相同 能够使用codeigniter $ this-> db-> insert('mytable',$ data); 方法
没有。您在$data
数组中指明字段名称:
$data = array(
'field_name' => 'field value',
'other_field' => 'other field value'
);
$this->db->insert('my_table', $data);
http://ellislab.com/codeigniter/user-guide/database/active_record.html#insert
如何在没有插入值标题和消息的情况下使用 明确指定我想要插入哪个id以便这样做 数据集只会在第一个空位中添加到数据库中。
创建数据库表时,应将id
字段指定为主键/自动增量。这将根据表中的行数自动生成id
值。这是标准程序,如果您从其他地方获得数据库或者正在学习数学教程,那么很可能是如何设置数据库的。
http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html