我的php學習第二十三天——MySQL數據庫編程的步驟

編程語言 MySQL PHP Pages 重蔚自留地 2017-05-01

1.MySQL數據庫編程的步驟

第一步:連接MySQL服務器

$link = mysql_connect($db_host,$db_user,$db_pwd);

返回值:連接成功返回資源標識符(轉成布爾值true),連接失敗返回false.

第二步:選擇當前數據庫

mysql_select_db($db_name,$link);

返回值:布爾值

第三步:設置返回數據的字符集

mysql_query(“set names utf8”);

第四步:執行SQL語句

增加:INSERT INTO table_name(title,author,addate) VALUES(‘新聞標題’,’admin’,’2014-06-11’)

刪除:DELETE FROM table_name WHERE id=100

修改:UPDATE table_name SET title=”新的標題”,author=”zhangsan” WHERE id=100

查詢:SELECT * FROM table_name WHERE id<100 ORDER BY id DESC LIMIT 0,10

$result = mysql_query($sql);

返回值:只有SELECT語句會返回資源標識符(結果集),其它的返回真、假值。

第五步:針對SELECT語句

$arr = mysql_fetch_row($result); //返回枚舉數組,每次只取一個行記錄

$arr = mysql_fetch_array($result); //返回混合數組

$arr = mysql_fetch_assoc($result); //返回關聯數組

2.新聞類別模塊

(1)新聞類型的數據表:007_class_news

我的php學習第二十三天——MySQL數據庫編程的步驟

id:新聞類別的id號

classname:類型名稱

borderby:排序字段

2)增加一個新聞類別

先有表單,單擊“提交按鈕”提交表單;

表單數據發往PHP程序進行處理;

處理完後,將表單數據寫進數據庫。

007_class_news.php

3)讀取所有的記錄

class_news_manage.php

關鍵代碼:SELECT * FROM 007_class_news ORDER BY orderby ASC,id DESC

如果記錄為空,則輸出“該模塊沒有記錄,請你先添加”

如果記錄不空,則輸出所有的類別。

4)刪除一條記錄

class_news_del.php

關鍵的代碼:DELETE FROM 007_class_news WHERE id=100

獲取傳遞過來的id值,並進行判斷。

如果id不存在,則跳到錯誤頁面;

如果id存在,則執行刪除SQL語句,再跳到成功頁面

5)修改一條記錄

class_news_edit.php

關鍵的代碼:UPDATE 007_class_news SET classname=’$classname’,orderby=$orderby WHERE id=100

先讀取要修改記錄內容,並寫入到表單中

進行修改,提交表單。

更新數據庫

3.新聞模塊

新聞類別表(007_class_news)和新聞表(007_news)的關係

我的php學習第二十三天——MySQL數據庫編程的步驟

007_news數據表的結構

我的php學習第二十三天——MySQL數據庫編程的步驟

cat:新聞的類別ID,對應於007_class_news中的ID值。

title:新聞的標題

author:新聞的發佈人

source:文章來源

keywords:這條新聞的關鍵字,主要用於網站優化;

descrition:新聞的簡介,主要用於網站優化;

orderby:新聞的排序,如果後面的某條新聞,想排到前面時間,可以把orderby的值改小一點;

content:新聞的內容,圖文混排。需要安裝FCKEditor在線編輯器,kindeditor是國內的;

hits:訪問量,單擊率

addate:新聞的發佈時間,獲取的是time()的值;

kindeditor在線編輯器

引入kindeditor在線編輯器,kindeditor是用純JS開發的,和Word很像。

Kindeditor在網上都可以隨時下載到。

Kindeditor文件夾的目錄:adminjseditor

Kindeditor的首頁文件:adminjskindeditor-min.js

/*********************************************************

<script charset="utf-8" src="js/editor/kindeditor-min.js"></script>

<script charset="utf-8" src="js/editor/lang/zh_CN.js"></script>

<script>

//加入在線編輯器

var editor;

KindEditor.ready(function(K) {

editor = K.create('textarea[name="content"]', {

allowFileManager : true

});

});

</script>

<textarea id="content" name="content" style="width:100%;height:300px;visibility:hidden;"></textarea>

****************************************************************

以上代碼實現,將<textarea>標記替換成KindEditor在線編輯器。

讀取新聞類型的數據

$sql = “SELECT * FROM {$db_prefix}class_news ORDER BY orderby ASC”;

<select name="cat">

<?php

//讀取新聞類別表的數據:007_class_news

$sql = "SELECT * FROM {$db_prefix}class_news ORDER BY orderby ASC";

$result = mysql_query($sql);

while($row=mysql_fetch_assoc($result))

{

echo "<option value='".$row["id"]."'>".$row["classname"]."</option>n";

}

?>

</select>

新聞分頁

我的php學習第二十三天——MySQL數據庫編程的步驟

分頁模塊:可以會涉及到以下幾個變量

pagesize:每頁顯示的數據;

page:當前頁,一般是通過地址欄傳遞過來的參數;http://localhost/admin/news_manage.php?page=3

records:符合條件的總記錄數,通過“SELECT * FROM table_name WHERE id<500”

pages:總頁數;總記錄數/每頁顯示的大小 $pages = ceil($records/$pagesize)

startrow:開始行號,每頁的開始行號都不一樣,計算公式:$startrow = ($page-1)*$pagesize

我的php學習第二十三天——MySQL數據庫編程的步驟

分頁的SQL語句:SELECT * FROM 007_news LIMIT $startrow,$pagesize

4.網站前臺新聞模塊

Index.php 網站前臺首頁,輸出前8條記錄

News.php 新聞列表頁

Newsdetail.php 新聞詳細內容頁

網站前臺應該是三層結構:網站首頁——模塊列表頁——詳經內容頁

相關推薦

推薦中...