Php數據庫操作

最近凱寧大神帶我做了一個小網站,用了大概2-3周的時間就基本做好了。說實話,之前我對php完全不瞭解,只知道有這麼一種編程語言,在做完這個網站之後就基本對php有了一個整體的認識,雖然很多細節還不是很清楚。下面就記錄一下我做這個網站的具體事項以及要注意的細節。

剛開始做的時候,我將w3school網站上php方面的知識點大致過了一遍,其實看完之後,發現php和C還是挺像的,它的基礎知識和C如出一轍,只是寫法不同,每個Controller裏面都有自己特有的函數,裏面有自己的數據類型、判斷、循環、排序等等(具體的看w3c,上面寫的很清楚....),感覺它和C++的類差不多,只是php定義變量是var+$變量名,不需要指出它的數據類型,而C要事先指明它是int型還是char型。之後用的資料基本是《CodeIgniter2.0中文手冊》(我用的是CI框架)。

MVC框架

不要說我土...在此之前我是不知道mvc是什麼玩意的。現在才發現php最大的特點之一就是MVC,MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫。MVC開始是存在於桌面程序中的M是指業務模型,V是指用戶界面,C則是控制器,使用MVC的目的是將M和V的實現代碼分離,從而使同一個程序可以使用不同的表現形式比如一批統計數據可以分別用柱狀圖、餅圖來表示。C存在的目的則是確保M和V的同步,一旦M改變,V應該同步更新。



 

連接數據庫

連接數據庫就一句話$this->load->database();然後在config/databases.php下面配置我們的數據庫就ok啦。

我們只需要看這麼幾項,hostname是主機名,username是用戶名,password是數據庫密碼(默認是空的),database是你需要使用的數據庫名稱,其他默認就好了。

數據庫的增刪改查

function tb_add(){

   $data['姓名']=$this->input->post('name');

   $data['電話']=$this->input->post('phone');

   $data['郵箱']=$this->input->post('email');

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

   redirect('tb_order/showorder', 'refresh');

}

function tb_delete($id){

   $this->db->where('id',$id);

   $this->db->delete('tb_order');

   redirect('tb_order/show_database', 'refresh');

}

function tb_update($id){

    $query= $this->db->get_where('tb_order',array('id' => $id));

    $data['result']=$query->result();

    $this->load->view('order/order_update',$data);

}

function tb_com_update(){

     $id = $this->input->post('id');

     $data = array(//把post數組的值封裝到新的數組中爲了下面跟新操作用

     '姓名'=>$this->input->post('name'),

     '電話'=>$this->input->post('phone' ),

     郵箱'=>$this->input->post('email' )

     );

  if(!empty($id) && (count($data) > 1)){

       $this->db->where('id',$id);//同上準備where條件

       $this->db->update('tb_order',$data);//更新操作

    }

    redirect('tb_order/show_database', 'refresh');

}

這就是數據庫的增、刪、改。$this->input->post();這個方法就是接收用post方法從表單提交的數據,提交數據有兩種類型,一是get,二是post,不過通過 GET 方法從表單發送的信息對任何人都是可見的,而post對其他人是不可見的,一般用post居多。

亂碼問題

在view裏面可以加這麼一句話<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />這是設置字符集爲utf-8,可以解決亂碼問題。另外,數據庫裏面也要設置同樣的字符集,建議使用數據庫可視化編輯軟件,比如Navicat for MySQL等,然後將數據庫字符集設置爲utf8 -- UTF-8 Unicode。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章