codeigniter - 如何在codeigniter中插入多个值数据

标签 codeigniter codeigniter-3

在我的选择选项中,我有两个数字的值示例value="163, 162"

我有一个模型函数,可以在其中插入第一个值编号,即类别 ID 163

变量转储

数组(2) { [0]=> 字符串(3) "163"[1]=> 字符串(4) "162"}

问题:我需要添加 parent_id = ". $this->db->e​​scape($category['parent_id']) . " 但不确定如何添加获取第二个值并将其设置为 parent_id = ". $this->db->e​​scape($category['parent_id']) . " parent id 示例为 162

模型函数

public function page_update($page_id, $data) {
    $this->db->query("DELETE FROM " . $this->db->dbprefix . "page_to_category WHERE page_id = '" . (int)$page_id . "'");

    if (isset($data['categories'])) {
        foreach ($data['categories'] as $category) {

            //$data_sample = explode(',', $category['category_id']);
            //var_dump($data_sample);
            //exit;

            $this->db->query("INSERT INTO " . $this->db->dbprefix . "page_to_category SET 
            page_id = '" . (int)$page_id . "', 
            category_id = " .  $this->db->escape($category['category_id']) . "
            ");
        }
    }
}

查看

<div class="form-group">
    <label class="col-sm-2">Category</label>
    <div class="col-sm-10">
        <select class="form-control" name="categories[1][category_id]">
            <option value="0">-- No Category Required --</option>
            <?php foreach ($categories as $category) {?>
            <?php if ($category['category_id'] == $category_id) {?>
            <option value="<?php echo $category['category_id'];?>, <?php echo $category['parent_id'];?>" selected="selected">
            <?php echo $category['name'];?></option>
            <?php } else { ?>
            <option value="<?php echo $category['category_id'];?>, <?php echo $category['parent_id'];?>"><?php echo $category['name'];?></option>
            <?php }?>
            <?php }?>
        </select>
    </div>
</div>

最佳答案

使用 Codeigniter 语法非常简单且更好,如果您可能想看一下,此代码的作用与 @Arcanix 回答的相同,但使用 CI Active Record 语法,

public function page_update($page_id, $data)
{
    $this->db->delete('page_to_category', array('page_id' => (int)$page_id)); 

    if (isset($data['categories']))
    {
        foreach ($data['categories'] as $category)
        {
            $data_sample = array_map("trim",explode(',', $category['category_id']));

            $insert_data = array(
                            'page_id' => (int)$page_id,
                            'category_id' => $this->db->escape($data_sample[0])
                        );

            $this->db->insert('page_to_category', $insert_data); 
        }
    }
}

关于codeigniter - 如何在codeigniter中插入多个值数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30437222/

相关文章:

php - 无法获取按 sql 中的组行过滤的行

php - 发布http ://localhost/MyApp/MyCon/customerCheck 500 (Internal Server Error)

php - 如何在 Codeigniter 中使用 JOIN 从两个表中获取 AVERAGE

.htaccess - 使用子域/文件夹上的 .htaccess 重写规则删除 CI4 public/index.php

php - 无法从 codeigniter 3 连接到 Amazon RDS 中的数据库

php - CodeIgniter 查询生成器类嵌套查询

php - 帮助选择,使用 CodeIgniter 连接多个表 - MYSQL

php - 尝试在我的表单 CI MySQL 中添加上传图像

php - 如何将日期作为参数传递给 PHP CodeIgniter 中的 MySQL 存储过程?

javascript - 使用 Ajax 获取数据未定义