Php 如何从url获取id,然后使用codeigniter将其插入数据库
希望所有这些信息都能有所帮助 所以我现在做的是我有一个论坛页面,我已经设置好了,你可以选择一个类别,从这个类别中你可以插入一篇文章到这个类别中。我需要的帮助是获取数据库类别的id,以便在我回显时显示帖子。换句话说,在插入时将ID链接到页面Php 如何从url获取id,然后使用codeigniter将其插入数据库,php,codeigniter,codeigniter-url,Php,Codeigniter,Codeigniter Url,希望所有这些信息都能有所帮助 所以我现在做的是我有一个论坛页面,我已经设置好了,你可以选择一个类别,从这个类别中你可以插入一篇文章到这个类别中。我需要的帮助是获取数据库类别的id,以便在我回显时显示帖子。换句话说,在插入时将ID链接到页面 好的,我知道它插入了用户名消息标题ect,但它没有做的是从url获取1,并将1插入到category_id下的数据库中 这是我的url,我省略了主http来缩短它,但它的其余部分是数字1,这是我想要得到的,并插入原因,它将根据您选择的类别而改变index.ph
好的,我知道它插入了用户名消息标题ect,但它没有做的是从url获取1,并将1插入到category_id下的数据库中 这是我的url,我省略了主http来缩短它,但它的其余部分是数字1,这是我想要得到的,并插入原因,它将根据您选择的类别而改变
index.php/forum/create_post/1
这就是我的分类表的内容
ID title
1 community
这就是我的post表所拥有的,所有的主要信息都来自于此,我想将category_id连接到主category表
id,标题消息日期用户id类别\u id加标记的用户名
这是将插入新帖子的第一个视图
视图:
<div id="container">
<div class="module">
<?php echo form_open('forum/create_post'); ?>
<div>
<?php
echo form_label('Title', 'title');
echo form_input('title', '');
?>
</div>
<div>
<?php
echo form_label('Message', 'message');
echo form_input('message', '');
?>
</div>
<div>
<?php echo form_submit('create', 'create new post'); ?>
</div>
<?php echo form_close(); ?>
</div>
</div>
这是我正在插入数据的模型
public function createpost($data){
$this->db->insert('post',$data);
}
根据您的URL
index.php/forum/create_post/1
,您的控制器功能应如下所示,以符合CI标准
public function create_post($category_id) {
因此,您可以直接访问$category\u id
。不需要获取url段
$res = $this->forum->createpost(array(
$id= $category_id,
'title' => $this->input->post('title'),
'message' => $this->input->post('message'),
'user_id'=> $this->session->userdata('id'),
'username'=>$this->session->userdata('username'),
));
if($res)
{
// show thanks msg
}
else
{
// show error msg
}
在您的模型中:
您可以检查是否插入了数据
public function createpost($data)
{
$this->db->insert('post',$data);
if($this->db->affected_rows()>0)
return true;
else
return false;
}
您不会再次向该页发送/1。您的表单必须从原始url发送/1
<?php echo form_open('forum/create_post'); ?>
看法
我发现了我需要做的一切,我必须将uri段插入一个隐藏的输入论坛,让它插入到正确的id框中,现在我能够连接正确的类别是否要传递主类别id以创建页面并将其作为父类别存储在db中?要获取url参数1,请使用$id=$this->uri->segment(3);好的,在它检索之前我已经做过了,但是我怎样才能把它插入数据库呢?我想如果我理解你的意思是对的?我试图做的是从类别中获取主id并将其插入类别id中,以便链接到其所在的类别。这样,当它被回响时,它只会在那个类别中回响。所以一旦我这样做了,如何确保它输入到数据库中是我空白的?我不理解你的问题。你想确认数据是否被插入吗?是的,我想把所有的数据连同它所在的页面id一起,这将是它被插入的类别,并将id连同evrey thing一起插入到数据中。如果不让我知道的话,希望这更有意义。好的,我知道它插入了用户名消息标题ect,但它没有做的是从url获取1,并将该1插入category_id下的数据库
<?php echo form_open('forum/create_post'); ?>
public function create_post() {
if( !$this->session->userdata('username') ) {
redirect('/'); // please login to continue
}
if( $this->input->post('create') ) {
$this->forum->createpost(array(
'category_id' => $this->input->post('category_id'),
'title' => $this->input->post('title'),
'message' => $this->input->post('message'),
'user_id' => $this->session->userdata('id'),
'username'=>$this->session->userdata('username')
));
}
$data['category_id'] = $this->uri->segment(3);
$this->load->view('templates/header');
$this->load->view('forum/create_post', $data);
$this->load->view('templates/footer');
}
<div id="container">
<div class="module">
<?php echo form_open('forum/create_post'); ?>
<div>
<?php
echo form_label('Title', 'title');
echo form_input('title', '');
?>
</div>
<div>
<?php
echo form_label('Message', 'message');
echo form_input('message', '');
?>
</div>
<div>
<?php echo form_submit('create', 'create new post'); ?>
</div>
<input type="hidden" name="category_id" value="<?php echo $category_id; ?>">
<?php echo form_close(); ?>
</div>
</div>