【问题标题】:How to add data in database in codeigniter如何在codeigniter的数据库中添加数据
【发布时间】:2015-10-25 03:00:30
【问题描述】:

有两张桌子。

  1. 类别(idcategory,name,url)
  2. 子类别(id,name,url,idcategory)

在 codeigniter 中,我有一个名为 submenu 的控制器,视图是 vwsubmenu。 在添加功能中,我必须将名称、URL 和 idcategory 添加到子类别表中。但是在视图页面中有三个字段,例如一个是输入类型文本(名称),输入类型文本(URL),选择类型是名称类别表中的类别。

现在我想从名称中获取类别表的 id(这是选择类型的输入)并插入到 idcategory 字段中的子类别表中。 如何在 codeigniter 中做到这一点。

请帮忙

【问题讨论】:

标签: php mysql codeigniter


【解决方案1】:

你可以试试

$this->db->insert_id();

这将返回类别表中的最后一个 id,然后您可以将其插入子类别表中。

您可以从here获取更多信息

【讨论】:

    【解决方案2】:

    首先改进你的数据库结构。

    CREATE TABLE IF NOT EXISTS `category` (
      `idcategory` int(11) NOT NULL AUTO_INCREMENT,
      `parent_id` int(11) NOT NULL,
      `name` varchar(255) NOT NULL,
      `url` varchar(255) NOT NULL,
      PRIMARY KEY (`idcategory`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ;
    

    试试这个...

    http://forum.codeigniter.com/archive/index.php?thread-493.html

    【讨论】:

      【解决方案3】:
       public function add_submenu()
       {
      
              if(isset($_REQUEST['submit']))
              {
      
              $namesubcategory=$_POST['namesubcategory'];
              $urlsubcategory=$_POST['urlsubcategory'];
              $parent_menu=$_POST['parent_menu'];
              $a=$parent_menu;
              $query = $this->db->query('Select idcategory from category where namecategory="$a"');
              $row = $query->row();
              $b=$row->idcategory;
      
      
              $sql="insert into subcategory values('','$namesubcategory','$urlsubcategory','$b')";
              $val = $this->db->query($sql,array($namesubcategory ,$urlsubcategory,$b));
              redirect('admin/submenu/');
              }
      
              $arr['page'] = 'submenu';
      
              $this->load->view('admin/vwAddSubmenu',$arr);
          }
      

      这是子菜单控制器中的添加功能

      【讨论】:

        【解决方案4】:

        首先你必须向模型表单控制器发送数据

        $result= $this->model_name->model_function($data);
        

        然后你可以在模型中指定这个:

        public function functionName( $data){
            $this->db->insert('table_name',$data);
        }
        

        【讨论】:

          【解决方案5】:

          在子类别视图中加载 3 个输入字段

          1. 姓名
          2. 网址
          3. idcategory(这应该是分类表的下拉菜单)

          然后使用提供的设置将数据添加到数据库。

          代码

          在加载子类别视图之前在控制器中获取category数据

          $data['category'] = $this->Model_name->get_category();
          $this->load->view('sub_category_view',$data);
          

          在模型中

          public function get_category()
          {
              $query = $this->db->query->("SELECT * FROM category");
              $result = $query->result_array();
              return $result;
          }
          

          在子类别视图中

          <form method="post" action="<?php echo base_url() ?>index.php/controller/add_subcategory">
              <input type="text" name="name" value="Sub Category Name">
              <input type="url" name="url" value="Sub Category URL">
              <select name="category">
                  <?php
                      foreach ($category as $item)
                      {
                          ?>
                          <option id="<?php echo $item['id'] ?>"><?php echo $item['name'] ?></option>
                      <?php
                      }
                  ?>
          
              </select>
              <input type="submit" name="submit" value="Add Sub Category">
          
          </form>
          

          //向数据库添加子类别

          在控制器中

          public function add_subcategory()
          {
          
              if(isset($_POST['submit']))
              {
                  $name = mysql_real_escape_string($_POST['name']);//if `mysqli` change this mysql_real_escape_string
                  $url = $_POST['url'];
                  $cat = $_POST['category'];
          
          
                  $result = $this->Model_name->insert_subcategory($name,$url,$cat);
          
                  if(isset($result))
                  {
                      echo 'insert successfully';
          
                  }
                  else
                  {
                      echo 'insert Failed';
                  }
          
              }
          
          }
          

          在模型中

          function insert_subcategory($name,$url,$cat)
          {
              $data = array(
                  'name' => $name,
                  'url' => $url ,
                  'idcategory' => $cat
              );
          
              $this->db->insert('subcategory', $data);
          }
          

          【讨论】:

          • 遇到 PHP 错误严重性:通知消息:未定义变量:类别文件名:admin/vwAddSubmenu.php 行号:48 遇到 PHP 错误严重性:警告消息:为 foreach() 提供的参数无效文件名:admin/vwAddSubmenu.php 行号:48 亲爱的阿卜杜拉,我写的代码和你在这里写的一样,但错误显示在视图页面中
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-02-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多