本文出自:迎風閣


 

天氣實在好冷,冷到手指打字都不太靈活。實在受不了天氣轉變的太快,慢慢來就容易接受。
就好像我們對於任何事情一樣,如果突然之間太快的改變,都會不習慣,但是如果日復一日,慢慢的來,我想要接受就容易的多了。自由軟體的推動應該也是如此吧。
好了,進入正題,記得今年4月多寫了一篇文章,是介紹如何使用python寫網頁程式,忘記如何做的夥伴可以再去看一次,因為這次的主題是上次的延續。
要使用前,我們先安裝讓python與mysql互動的資料庫模組界面。請打開終端機執行底下的安裝指令。
sudo apt-get install python-mysqldb

首先我們先看看這次的程式碼,其實很短,主要是介紹一些最基本的觀念:
#!/usr/bin/env python
#coding:utf-8

import cgi,sys
import MySQLdb

print "Content-Type: text/html"     # HTML is following
print                               # blank line, end of headers

print "<html>"
print "<head>"
print "<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />"
print "<title>CGI script output</title>"
print "</head>"
print "<body>"

db=MySQLdb.connect(host="localhost",user="root",passwd="密碼",db="資料庫名")

c=db.cursor()
c.execute("SET names utf8")
c.execute("select * from user")

row=c.fetchall()

for i in row:
    for j in i:
        print j,"<br>"

print "</body>"
c.close()
db.close()

程式很短,很容易看得懂。扣除上篇文章介紹的內容,其實這次最主要的是介紹,如何和mysql資料庫進行連接,並且執行sql查詢語法,再把結果顯示出來。
首先看底下連接的語法。
db=MySQLdb.connect(host="localhost",user="root",passwd="密碼",db="資料庫名")
我們透過別人寫好的python模組MySQLdb來進行連接,其中host指的是置放mysql的主機,在這裡localhost指的是自己,也就是網頁和資料庫是同一台機器。
當然連接時免不了要告訴資料庫伺服器使用者名稱帳號、密碼以及要連接的資料庫名字。
c=db.cursor()
c.execute("SET names utf8")
c.execute("select * from user")
接下來,上面的三行指令,第一行是建立一個buffer,準備給接下來的sql語法使用的空間,第二行是指令送出去和傳回來的資料,都是採用utf-8的編碼方式,這一行很重要喔
同時也要注意你的mysql資料庫的編碼,目前大家已逐漸使用utf-8的編碼格式,早期的big5已逐漸淡出。
第三行就是執行查詢的指令了,select * from user ,很簡單吧。不過你要有user這個資料表喔。
row=c.fetchall()
這一行就是把執行的結果,全部抓到row這個list變數裡。如此才可以執行底下顯示的程序。
for i in row:
    for j in i:
        print j,"<br>"
在這裡,i指的是第幾筆資料,J指的是欄位資料。如果看不懂,建議你可能要先去學學python的list變數的概念。
當然執行完畢就是把資料表、資料庫關起來。其實有了以上的基礎之後,你就可以自行寫出很複雜的網頁程式了
因為基本的核心是不變的,連接、查詢、顯示、關檔。
或許你會說,那如何新增資料呢?其實新增資料不就只是insert into user values (.........)的sql語法嗎
如果你再問那資料如何取得,這不就只是單純的網頁設計的問題嗎!當然這個執行的畫面醜的可以,如果要畫面好看,不也回到網頁HTML語法的設計問題了嗎!
關於這些問題,有空再來寫一些簡易的介紹文件。

創作者介紹

胖虎的祕密基地

idobest 發表在 痞客邦 PIXNET 留言(0) 人氣()