php - 将两个字段插入数据库

标签 php mysql codeigniter crud

我正在努力使用 MVC 架构将数据和 Category_id 添加到我的数据库中。

这是我的 Controller 方法,这可能是错误的。

public function create(){
    $data['categories'] = $this->get_m->createJoke();


    $data = array(
        'joke' => $this->input->post('joke'),
        'category_id' => $this->input->post('category')
    );

    $this->get_m->createJoke($data);

    $this->load->view('create', $data);
}

这是我的模型方法:

function createJoke($data){
    // Retrieving categories from the database
    $categories = $this->db->query('SELECT * FROM category');

    $this->db->insert('jokes', $data);

    return $categories->result();
}

最后,这是我希望能够选择笑话类别的表单:

<?php  

echo form_open('home/create');
?>

<p>
    <label for="joke">Joke</label>
    <input type="text" name="joke" id="joke" />
</p>

<select class="category" name="category">
    <option value=0>Select something…</option>
    <?php foreach  ($categories as $category) { ?>
        <option value="<?php echo $category['category_id']; ?>"<?php echo $category_id == $category['category_id'] ? ' selected="selected"' : ''; ?>><?php echo $category['name']; ?></option>
    <?php } ?>
</select>

<p>
    <input type="button" value="Submit"/>
</p>

<?php echo form_close(); ?>

在我刚刚添加笑话标签之前(虽然它确实在数据库中添加了数据),但由于某种原因它只添加了“0”。

我一直在观看一些专注于插入数据的 CRUD 教程,这是我能想到的最好的教程!

最佳答案

您没有在 Controller 中检查表单是否已提交。

public function create(){
    $data['categories'] = $this->get_m->createJoke();

    if($this->input->post("joke")!="" and $this->input->post("category")!="") // check post have some value
    {
       $data = array(
          'joke' => $this->input->post('joke'),
          'category_id' => $this->input->post('category')
       );    
       $this->get_m->createJoke($data);
    }

    $this->load->view('create', $data);
}

关于php - 将两个字段插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21434150/

相关文章:

javascript - 使用 PHP Simple HTML DOM Parser 抓取脚本生成的文本

php - 寻找一种使用 php 解析 XML 字符串并将其插入 MySQL 的方法

php - 存储过程调用后 Codeigniter DB 错误

php - 使用 MySQL 在 Android 登录页面上出现错误的用户名和密码

php - 数据库包含#39 而不是#039

php - Codeigniter 设置主页(默认 Controller )

php - 帮助我改进我的持续部署工作流程

php - 使用 fsockopen 通过 TLS 而不是 SSL 的 PayPal ipn 处理程序

SQL 查询 : SUM on three columns with criteria

codeigniter - 使用CodeIgniter发送电子邮件时出错