【问题标题】:codeigniter view, add, update and deletecodeigniter 查看、添加、更新和删除
【发布时间】:2010-08-18 05:11:45
【问题描述】:

我是 codeigniter 的新手,还在学习。任何人都可以在基本视图中提供示例,在 codeigniter 中添加、更新、删除操作和查询将不胜感激。

就像为新手创建通讯录一样简单。

谢谢,

最好的问候

【问题讨论】:

    标签: codeigniter addressbook


    【解决方案1】:

    Codeigniter 中的一些示例查询

    class Names extends Model {
      function addRecord($yourname) {
        $this->db->set("name", $yourname);
        $this->db->insert("names");
        return $this->db->_error_number(); // return the error occurred in last query
      }
      function updateRecord($yourname) {
        $this->db->set("name", $yourname);
        $this->db->update("names");
      }
      function deleteRecord($yourname) {
        $this->db->where("name", $yourname);
        $this->db->delete("names");
      }
      function selectRecord($yourname) {
        $this->db->select("name, name_id");
        $this->db->from("names");
        $this->db->where("name", $yourname);
        $query = $this->db->get();
        return $this->db->result();
      }
      function selectAll() {
         $this->db->select("name");
         $this->db->from("names");
         return $this->db->get();
      }
    }
    

    更多信息和更多关于 CRUD 的方法在codeigniter active record documentation 更多关于here上的错误号

    一个示例控制器

    class names_controller extends Controller {
       function addPerson() {
          $this->load->Model("Names");
          $name = $this->input->post("name"); // get the data from a form submit
          $name = $this->xss->clean();
          $error = $this->Names->addRecord($name);
          if(!$error) {
             $results = $this->Names->selectAll();
             $data['names'] = $results->result();
             $this->load->view("show_names", $data);
          } else {
             $this->load->view("error");
          }
       }
    }
    

    更多关于here上的控制器

    示例视图 - show_names.php

    <table>
      <tr>
        <td>Name</td>
      </tr>
      <?php foreach($names as $row): ?>
      <tr><td><?ph echo $row->name; ?></td></tr>
      <?php endforeach; ?>
    </table>
    

    更多关于here上的codeigniter视图

    【讨论】:

    • 关于deleteRecord()函数,你为什么用$this->db->set(),据我所知是用来更新的..
    【解决方案2】:

    你可以以此为例

    class Crud extends Model {
        // selecting records by specifying the column field
        function select()
        {
            // use $this->db->select('*') if you want to select all the records
            $this->db->select('title, content, date');
            // use $this->db->where('id', 1) if you want to specify what row to be fetched
            $q = $this->db->get('mytable');
    
            // to get the result
            $data = array();
            // for me its better to check if there are records that are fetched
            if($q->num_rows() > 0) { 
                // by doing this it means you are returning array of records
                foreach($q->result_array() as $row) {
                    $data[] = $row;
                }
                // if your expecting only one record will be fetched from the table
                // use $row = $q->row();
                // then return $row;
            }
            return $data;
        }
    
        // to add record
        function add()
        {
            $data = array(
               'title' => 'My title' ,
               'name' => 'My Name' ,
               'date' => 'My date'
            );
    
            $this->db->insert('mytable', $data); 
        }
    
        // to update record
        function update()
        {
            $data = array(
               'title' => $title,
               'name' => $name,
               'date' => $date
            );
    
            $this->db->where('id', 1);
            $this->db->update('mytable', $data); 
        }
    
        // to delete a record
        function delete()
        {
            $this->db->where('id', 1);
            $this->db->delete('mytable');
        }
    }
    

    其中一些来自 codeigniter userguide

    要查看记录,

    如果返回数据是记录数组,

       foreach($data as $row)
       {
           echo $row['title'] . "<br />";
       }
    

    如果返回数据是一个对象(使用$q-&gt;row),

       echo $data->title;
    

    这只是 Codeigniter 中的几个示例或 CRUD。访问代码点火器userguide

    【讨论】:

    • foreach($q->result_array() as $row) {$data[] = $row;} = $data = $q->result_array ();
    猜你喜欢
    • 2020-03-21
    • 2010-10-12
    • 2011-08-09
    • 1970-01-01
    • 1970-01-01
    • 2017-11-15
    • 2011-09-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多