刚刚接触 PHP 仿照视频 写了个新闻管理系统 当中也使用到了bootstrap框架

写下来整理一下思路。

这是个非常easy的系统。首先是建立数据库表。

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:

<?php

define(HOST,"localhost");//主机名

define(USER,"root");//username

define(PASS,"");//password

define(DBNAME,"newsdb");//数据库名

?>

然后是一个menu.php文件

<!DOCTYPE HTML>

<html>

<head>

<meta charset="utf-8">

<meta name="viewport" content="width=device-width,initial-scale=1.0">

<title>HTML5&BootStrap</title>

<link href="bootstrap-3.2.0-dist/css/bootstrap.css" rel="stylesheet">

<!--[if IE]>

<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>

<![endif]-->

<link href="prettify-4-Mar-2013/prettify.css" rel="stylesheet">

<link href="style.css" rel="stylesheet">

</head>

<body onLoad="prettyPrint()">

<style>

body{background:orange;}

@media(max-width:997px){body{background:#0FC;}}

</style>

<div class="container">

  <nav class="navbar navbar-default" role="navigation">

    <div class="container-fluid"> 

      <!-- Collect the nav links, forms, and other content for toggling -->

      <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">

        <ul class="nav navbar-nav">

        <h2>新闻管理系统</h2>

          <li><a href="index.php">浏览新闻</a></li>

          <li><a href="add.php">公布新闻</a></li>

          <hr>

        </ul>

      </div>

      <!-- /.navbar-collapse --> 

    </div>

    <!-- /.container-fluid --> 

  </nav>

</div>

<script type="text/javascript" src="bootstrap-3.2.0-dist/js/jquery-1.9.1.min.js"></script> 

<script type="text/javascript" src="bootstrap-3.2.0-dist/js/bootstrap.js"></script> 

<script type="text/javascript" src="prettify-4-Mar-2013/prettify.js"></script>

</body>

</html>

上面两步简单的工作做好之后,就该进行主页index.php的编写了:

首先。导入导航栏menu.php

<?php  include("index.php"); ?>

然后是加个标题和表格

<h3>浏览新闻</h3>

<table class="table table-hover">

<tr>

<th>新闻id</th>

<th>标题</th>

<th>keyword</th>

<th>作者</th>

<th>时间</th>

<th>内容</th>

<th>操作</th>

</tr>

<?

php  //这儿有5部分

//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"<tr>";

echo"<td>{$row['id']}</td>";

echo"<td>{$row['tilte']}</td>";

echo"<td>{$row['keywords']}</td>";

echo"<td>{$row['author']}</td>";

echo"<td>{$row['addtime']}</td>";

echo"<td>{$row['content']}</td>";

echo"<td>

<a href=‘#’>删除</a>;//此处的“#”仅仅是一个代号,后面会把它替换掉,因为增删操作比較复杂,所以单独写一个action.php文件

<a href=‘#’>改动</a>;

</td>";

echo"</tr>"

}

//5.释放结果集

mysql_free_result(&result);

musql_close($link);

?

>

</table>

action.php:

<?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 "<h3>新闻信息加入成功</h3>";

}

else{

echo "<h3>新闻信息加入失败</h3>";

}

echo("<a href='javascript:window.history.back()'>返回</a>");

echo("<a href='index.php'>浏览新闻</a>");

break;

case "del":

//1.获取要删除的新闻id:

$id=$_GET['id'];

//2.拼装删除sql语句,运行对应的删除操作

$sql="delete from news where id=($id)";

mysql_query($sql,$link);

//3.删除之后自己主动跳转至新闻浏览界面

header("location: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:index.php");

break;

}

//4.关闭数据库链接

mysql_close("$link");

?>

以下写加入新闻的页面add.php文件:

<?php include("menu.php");//导入导航栏?

>

<h3 align="center">公布新闻</h3>

                <div class="container">

<form action="action.php?action=add" method="post">

                    

<table class="table table-bordered table-hover table-responsive">

<tr>

<td align="center">标题</td>

<td><input  class="col-xs-10" type="text" name="title"></td>

</tr>

<tr>

<td align="center">keyword</td>

<td><input  class="col-xs-10" type="text" name="keywords"></td>

</tr>

<tr>

<td align="center">作者</td>

<td><input  class="col-xs-10" type="text" name="author"></td>

</tr>

<tr>

<td valign="top" align="center">内容</td>

<td><textarea class="col-xs-10" name="content"></textarea></td>

</tr>

<tr>

<td colspan=2 align="center">

<input class="btn btn-primary" type="submit" value="加入">

<input class="btn btn-primary" type="reset" value="重置">

</td>

</tr>

</table>

</form>

                    </div>

然后是编辑的页面edit.php页面:

<?

php include("menu.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("没有找到要改动的信息");

}



?

>

<h3 align="center">编辑新闻</h3>

<form action="action.php?action=update" method="post">

<input type="hidden" name="id" value="<?php echo $news['id']; ?>">

<table class="table table-bordered table-hover table-responsive">

<tr>

<td  align="center">标题</td>

<td><input  class="col-xs-10" type="text" name="title" value="<?

php echo $news['title']; ?>"></td>

</tr>

<tr>

<td  align="center">keyword</td>

<td><input  class="col-xs-10" type="text" name="keywords" value="<?php echo $news['keywords']; ?>"></td>

</tr>

<tr>

<td  align="center">作者</td>

<td><input  class="col-xs-10" type="text" name="author" value="<?

php echo $news['author']; ?

>"></td>

</tr>

<tr>

<td valign="top"  align="center">内容</td>

<td><textarea  class="col-xs-10" name="content"><?php echo $news['content']; ?

></textarea></td>

</tr>

<tr>

<td colspan=2 align="center">

<input class="btn btn-primary" type="submit" value="编辑">

<input class="btn btn-primary" type="reset" value="重置">

</td>

</tr>

</table>

</form>

最后。提一下。删除和改动的“#”用什么取代

此处为了人性化一些,用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新闻管理系统就基本完毕了。明天再改进一下。

PHP实战 新闻管理系统 使用到了bootstrap框架的更多相关文章

  1. python操作三大主流数据库(14)python操作redis之新闻项目实战②新闻数据的展示及修改、删除操作

    python操作三大主流数据库(14)python操作redis之新闻项目实战②新闻数据的展示及修改.删除操作 项目目录: ├── flask_redis_news.py ├── forms.py ├ ...

  2. PHP基础示例:用PHP+Mysql编写简易新闻管理系统[转]

    实现目标:使用php和mysql操作函数实现一个新闻信息的发布.浏览.修改和删除操作 实现步骤: 一.创建数据库和表 1.创建数据库和表:newsdb 2.创建表格:news 字段:新闻id,标题,关 ...

  3. 页面静态化3 --- 使用PHP页面缓存机制来完成页面静态化(下)操作一个案例(新闻管理系统)

    案例需求: 使用PHP缓存机制完成新闻管理系统的页面静态化数据库表 ecs_article (新闻表)因为新闻这些信息,并不是对实时性要求高,本身这个新闻比较稳定,内容也比较固定,所以我们考虑: 当第 ...

  4. MDA系统分析实战--图书馆管理系统

    MDA系统分析实战--图书馆管理系统 本文通过MDA系统分析方法,对图书馆管理系统进行分析,简要叙述系统分析的一般过程.首先,简要介绍什么是MDA:MDA(Model-Driven Architect ...

  5. PHP基础示例:用PHP+Mysql编写简易新闻管理系统

    实现目标:使用php和mysql操作函数实现一个新闻信息的发布.浏览.修改和删除操作 实现步骤: 一.创建数据库和表 1.创建数据库和表:newsdb 2.创建表格:news 字段:新闻id,标题,关 ...

  6. python操作三大主流数据库(4)python操作mysql④python服务端flask和前端bootstrap框架结合实现新闻展示

    python操作mysql④python服务端flask和前端bootstrap框架结合实现新闻展示 参考文档http://flask.pocoo.org/docs/0.11/http://flask ...

  7. 基于ASP.NET的新闻管理系统(一)

    1. 项目简介 1.1设计内容 (1)可以在首页查看各类新闻,可以点击新闻查看具体内容:可以查看不同类型的新闻,并了解热点新闻,可以在搜索框里输入要查找的内容. (2)在后台界面中,管理员可以修改密码 ...

  8. 基于ASP.NET的新闻管理系统(二)效果展示

    5. 新闻管理系统开发与实现 5.1前台新闻页面 主页面 新闻栏展示新闻 搜索新闻 菜单栏链接新闻 后台登录界面 大管理员后台管理界面 小管理员后台管理界面 修改密码 增加新闻界面 栏目管理界面   ...

  9. Spring Boot → 11:项目实战-账单管理系统完整版

    Spring Boot → 11:项目实战-账单管理系统完整版

随机推荐

  1. JVM CPU占满问题定位

    RASP加载后出现JVM CPU占满问题,jstack -F输出信息无法找到对应占用CPU的线程 perf定位到占用CPU的热代码位于Dependencies::find_finalizable_su ...

  2. iOS 9应用开发教程之显示编辑文本标签文本框

    iOS 9应用开发教程之显示编辑文本标签文本框 ios9显示.编辑文本 在iOS,经常会看到一些文本的显示.文字就是这些不会说话的设备的嘴巴.通过这些文字,可以很清楚的指定这些设备要表达的信息.本节将 ...

  3. OpenStack计费项目Cloudkitty系列详解(一)

    云计算是一种按需付费的服务模式,虽然OpenStack前期在计量方面走了些“弯路”,但现在的ceilometer.gnocchi.aodh.panko项目的稳步并进算是让其峰回路转.然而,目前来看Op ...

  4. springBoot 自动配置原理

    在之前文章中说过,springBoot会根据jar包去添加许多的自动配置,本文就来说说为什么会自动配置,自动配置的原理时什么? springBoot在运行SpringApplication对象实例化时 ...

  5. SPOJ8791 DYNALCA LCT

    考虑\(LCT\) 不难发现,我们不需要换根... 对于操作\(1\),\(splay(u)\)然后连虚边即可 对于操作\(3\),我们可以先\(access(u)\),然后再\(access(v)\ ...

  6. 【推导】Codeforces Round #472 (rated, Div. 2, based on VK Cup 2018 Round 2) B. Mystical Mosaic

    题意:给你一个棋盘的最终局面. 你的一次操作可以选择一些行和列,将它们的交叉点染黑,不能重复选择某行或者某列.问你是否能经过数次操作之后,达到目标局面. 就枚举所有黑点,如果该点行列都没被标记,就给它 ...

  7. BZOJ 3751: [NOIP2014]解方程 数学

    3751: [NOIP2014]解方程 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=3751 Description 已知多项式方程: ...

  8. Word文档中的语法高亮显示代码

    有时候我们程序员也需要在word文档里面显示代码,但是直接复制过去 不好看,格式也不太对,这里给大家分享一个Word文档中的语法高亮显示代码的方法 http://www.planetb.ca/synt ...

  9. FolderSync :The various features and how to use them

    Help - Tacit Dynamics Help This page describes the various features of FolderSync and how to use the ...

  10. 使用注册表优化终端、编辑器的中英字体混合显示,如「Consolas + 雅黑」「Monaco + 雅黑」

    在终端.cmd.编辑器中偶尔会有中文字符出现,Windows下默认的点阵字体「宋体」和等宽英文字符放在一起非常违和.一个解决方法是下载混合字体,比如「Consolas + YAHEI hybrid」, ...