剛剛接觸 PHP 仿照視頻 寫了個新聞管理系統 其中也使用到了bootstrap框架
寫下來整理一下思路。
這是個很簡單的系統,首先是建立數據庫表。
mysql>create database newsdb
mysql> create table news(
-> id int unsigned not null auto_increment primary key,//這是新聞的id
-> title varchar(64) not null,//這是新聞的標題
-> keywords varchar(64) not null,//這是新聞的關鍵字
-> author varchar(16) not null,//這是新聞的作者
-> addtime int unsigned not null,//這是新聞的添加時間
-> content text not null);//這是新聞的內容
這樣,數據庫表就建成了,下面開始寫頁面。
首先寫了一個數據庫配置文件dbconfig.php:
define(HOST,"localhost");//主機名
define(USER,"root");//用戶名
define(PASS,"");//密碼
define(DBNAME,"newsdb");//數據庫名
?>
然後是一個menu.php文件
上面兩步簡單的工作做好之後,就該進行主頁http://blog.csdn.net/q114942784/article/details/index.php的編寫了:
首先,導入導航欄menu.php
然後是加個標題和表格
//1.導入配置文件
require("dbconfig.php");
//2.鏈接mysql,選擇數據庫
$link=@mysql_connect(HOST,USER,PASS) or die("鏈接數據庫出錯!");
mysql_select_db(DBNAME,$link);
//3.執行查詢,返回結果集
$sql="select * from news order by addtime desc";
$result=mysql_query($sql,$link);
//4.解析結果集,並遍歷輸出
while($row=mysql_fetch_assoc($result)){
echo"";
echo"{$row['id']}";
echo"{$row['tilte']}";
echo"{$row['keywords']}";
echo"{$row['author']}";
echo"{$row['addtime']}";
echo"{$row['content']}";
echo"
刪除;//此處的“#”只是一個代號,後面會把它替換掉,由於增刪操作比較復雜,所以單獨寫一個action.php文件
修改;
";
echo""
}
//5.釋放結果集
mysql_free_result(&result);
musql_close($link);
?>
action.php:
//這是一個數據的增刪改查的頁面
//1.導入配置文件
require("dbconfig.php");
//2.鏈接mysql,並選擇數據庫
$link=@mysql_connect(HOST,USER,PASS) or die("數據庫鏈接失敗");
mysql_select_db(DBNAME,$link);
//3.根據action的值,來判斷所屬的操作,執行相應的代碼
switch($_GET["action"]){
case"add":
//1.獲取要添加的信息,補充其他信息
$tilte=$_POST["title"];
$keywords=$_POST["keywords"];
$author=$_POST["author"];
$content=$_POST["content"];
$addtime=time();
//2.信息的過濾
//3.拼接sql語句,執行相應的操作
$sql=insert into news value(null,'($title)','($keywords)','($author)',$addtime,'($content)');
mysql_query($sql,$link);
//4.判斷是否成功
$id=mysql_insert_id($link);
if($id>0){
echo "
}
else{
echo "
}
echo("返回");
echo("浏覽新聞");
break;
case "del":
//1.獲取要刪除的新聞id:
$id=$_GET['id'];
//2.拼裝刪除sql語句,執行相應的刪除操作
$sql="delete from news where id=($id)";
mysql_query($sql,$link);
//3.刪除之後自動跳轉至新聞浏覽界面
header("location:http://blog.csdn.net/q114942784/article/details/index.php");
break;
case "update":
//1.獲取要修改的信息
$title = $_POST['title'];
$keywords = $_POST['keywords'];
$author = $_POST['author'];
$content = $_POST['content'];
$id = $_POST['id'];
//2.過濾要修改的信息(此處省略)
//3.拼裝修改sql語句,並執行修改操作
$sql="update news set title="($title)",keywords='($keywords)',author='($author)',content='($content)' where id=($id)";
//echo $sql;
mysql_query($sql,$link);
//4.跳轉至浏覽界面
header("location:http://blog.csdn.net/q114942784/article/details/index.php");
break;
}
//4.關閉數據庫鏈接
mysql_close("$link");
?>
下面寫添加新聞的頁面http://blog.csdn.net/q114942784/article/details/add.php文件:
然後是編輯的頁面edit.php頁面:
//1.導入配置文件
require("dbconfig.php");
//2.連接mysql,選擇數據庫
$link=@mysql_connect(HOST,USER,PASS)or die("數據庫鏈接失敗");
mysql_select_db(DBNAME,$link);
//3.獲取要修改的信息的id,並且拼裝查看sql語句,執行查詢,獲取要修改信息
$sql="select * from news where id={$_GET['id']}";
$result=mysql_query($sql,$link);
//4.判斷是否獲取到了要修改的信息
if($result && mysql_num_rows($result)>0){
$news=mysql_fetch_assoc($result);
}else{
die("沒有找到要修改的信息");
}
?>
最後,提一下,刪除和修改的“#”用什麼代替
此處為了人性化一些,用js代碼給出一個提示
<script type="text/javascript">
function dodel(id){
if(confirm("確定要刪除嗎?")){
window.location="action.php?action=del&id="+id;
}
}
</script>
第一個“#”,用javascript:dodel({$row["id"]})替代
第二個“#”,用edit.php?id={$row["id"]}替代
至此,一個完整的php新聞管理系統就基本完成了,明天再改進一下。