使用文本數據庫一般是針對小型的應用程序了,這種不就需要安裝數據庫了,我們可以直接操作文本文件就可以了,但時怎么操作都不如mysql數據庫好用了,下面我來給大家介紹一個文本數據庫轉為mysql數據庫實例,代碼如下:
- <?php
- require_once 'config.php';
- $action = emptyempty($_GET['action']) ? '' : $_GET['action'];
- $id = isset($_GET['id']) ? $_GET['id'] : 0;
- if (emptyempty($action)) {//列表
- $result = "SELECT * FROM posts ORDER BY pid DESC";
- $items = 3;
- $page = isset($_GET['page']) ? intval($_GET['page']) : 1;
- $page = ($page =='' && $page < 0) ? 1 : $page;
- $total = mysql_num_rows(mysql_query($result));//數據條目總數
- $pageall = ceil($total/$items);
- $offset = ($page-1)*$items;//數據開始位置
- $result .= " limit {$offset},{$items}";//每頁顯示
- $results = mysql_query($result);
- $prev = $page - 1;
- $next = $page + 1;
- $goPrev = "<a href="?page=$prev">上一頁</a>";
- $goNext = "<a href="?page=$next">下一頁</a>";
- if ($page == $pageall){ $goNext = NULL;}
- $pagestate = '';
- if ($page == 1 && $pageall > 1) {
- $pagestate .= $goNext;
- } elseif ($pageall > $page || $page >1) {
- $pagestate .= $goNext . '|' .$goPrev;
- } elseif ($page >1 ) {
- $pagestate .= $goPrev;
- } else {
- $pagestate .= 'Just One Page';
- }
- $pagelinks = '';
- for ($i = 1; $i <= $pageall; $i++) {
- $pagelinks .= ($i != $page) ? "<a href="?page=$i">$i</a>" : $i;
- $pagelinks .= ($i < $pageall) ? '-' : null;
- }
- // end 分頁
- $data = array();
- //列出文章
- while ($row = mysql_fetch_array($results)) {//mysql_fetch_array ; 從查詢結果取出一行作為數組;
- $data[] = $row;//
- }
- //列出分類
- $recat = mysql_query("SELECT * FROM category ORDER BY cid DESC");
- $cdata = array();
- while ($catlist = mysql_fetch_array($recat)) {
- $cdata[$catlist['cid']] = $catlist;
- }
- include template('index');
- } elseif ($action == 'post') {//發表
- $title = $_POST['title'];
- $date = date("Y-m-d H:i:s");
- $content = $_POST['content'];
- $cid = $_POST['cat'];
- if ($title == '' || $content == '' || $cid == '') {
- echo "缺少必填項nnnn<a href="javascript:history.go(-1);">返回</a>";
- } else {
- $insertPost = "INSERT INTO posts (title,time,post,cid) VALUES ('$title','$date','$content','$cid')";
- if (!mysql_query($insertPost,$sql)) {
- die('ERROR: '. mysql_error());
- }
- header('location: index.php');
- }
- } elseif ($action == 'view') {//查看
- $view = mysql_query("SELECT * FROM posts WHERE pid='$id'");
- while ($row = mysql_fetch_array($view)) {
- $title = $row['title'];
- $time = $row['time'];
- $post = $row['post'];
- }
- if ($_SERVER['REQUEST_METHOD'] == 'POST') {//評論
- $name = isset($_POST['name']) ? $_POST['name'] : 0;
- $review = isset($_POST['review']) ? $_POST['review'] : 0;
- if ($name == '' && $review == '') { echo "缺少必填項"; exit; }
- $insertRview = "INSERT INTO review (pid,name,review) VALUES ('$id','$name','$review')";
- if (!mysql_query($insertRview,$sql)) {
- die('ERROR: ' . mysql_error());
- }
- header("location: ?action=view&id=$id");
- }
- $rert = mysql_query("SELECT * FROM review WHERE pid='$id' ORDER BY rid ASC");
- $data = array();
- while ($relist = mysql_fetch_array($rert)){
- $data[] = $relist;
- }
- include template('view');
- } elseif ($action == 'del') {//刪除
- mysql_query("DELETE FROM posts WHERE pid='$id'");
- header("location: index.php");
- } elseif ($action == 'edit') {//編輯
- if ($_SERVER['REQUEST_METHOD'] == 'POST') {
- $title = $_POST['title'];
- $content = $_POST['content'];
- $date = date("Y-m-d H:i:s");
- if ($title == '' or $content == '') { echo "缺少必填項nnnn<a href="javascript:history.go(-1);">返回</a>"; exit;}
- mysql_query("UPDATE posts SET title='$title',time='$date',post='$content' WHERE pid='$id'");
- header("location: index.php");
- } else {
- $row = mysql_query("SELECT * FROM posts WHERE pid='$id'");
- $row = mysql_fetch_array($row);
- include template('edit');
- }
- } elseif ($action == 'newcat') {//新建分類
- $cat = isset($_POST['category']) ? $_POST['category'] : 0;
- if ($_SERVER['REQUEST_METHOD'] == 'POST') {
- if ($cat == '') { echo "缺少必填項nnnn<a href="javascript:history.go(-1);">返回</a>"; exit;}
- $insertCat = "INSERT INTO category (category) VALUES ('$cat')";
- if (!mysql_query($insertCat,$sql)){
- die('ERROR: ' . mysql_error());
- }
- header("location: index.php");
- }
- include template('jioncat');
- } elseif ($action == 'vcat') {
- $cid = $_GET['cid'];
- $revcats = "SELECT * FROM posts WHERE cid='$cid' ORDER BY cid DESC";
- $items = 1;
- $page = isset($_GET['page']) ? intval($_GET['page']) : 1;
- $page = ($page =='' && $page < 0) ? 1 : $page;
- $total = mysql_num_rows(mysql_query($revcats));//數據條目總數
- $pageall = ceil($total/$items);
- $offset = ($page-1)*$items;//數據開始位置
- $revcats .= " limit {$offset},{$items}";//每頁顯示
- $revcat = mysql_query($revcats);
- $prev = $page - 1;
- $next = $page + 1;
- $goPrev = "<a href="?action=vcat&cid=$cid&page=$prev">上一頁</a>";
- $goNext = "<a href="?action=vcat&cid=$cid&page=$next">下一頁</a>";
- if ($page == $pageall){ $goNext = NULL;}
- $pagestate = '';
- if ($page == 1 && $pageall > 1) {
- $pagestate .= $goNext;
- } elseif ($pageall > $page || $page >1) {
- $pagestate .= $goNext . '|' .$goPrev;
- } elseif ($page >1 ) {
- $pagestate .= $goPrev;
- } else {
- $pagestate .= 'Just One Page';
- }
- $pagelinks = '';
- for ($i = 1; $i <= $pageall; $i++) {
- $pagelinks .= ($i != $page) ? "<a href="?action=vcat&cid=$cid&page=$i">$i</a>" : $i;
- $pagelinks .= ($i < $pageall) ? '-' : null;
- } //開源代碼Vevb.com
- $data = array();
- while ($vclist = mysql_fetch_array($revcat)) {
- $data[] = $vclist;
- }
- include template('cplist');
- }
- mysql_close($sql);
題外話了,一個access轉換成mysql數據庫的實例.
新聞熱點
疑難解答