PHP实战 新闻管理系统 使用到了bootstrap框架
刚刚接触 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框架的更多相关文章
- python操作三大主流数据库(14)python操作redis之新闻项目实战②新闻数据的展示及修改、删除操作
python操作三大主流数据库(14)python操作redis之新闻项目实战②新闻数据的展示及修改.删除操作 项目目录: ├── flask_redis_news.py ├── forms.py ├ ...
- PHP基础示例:用PHP+Mysql编写简易新闻管理系统[转]
实现目标:使用php和mysql操作函数实现一个新闻信息的发布.浏览.修改和删除操作 实现步骤: 一.创建数据库和表 1.创建数据库和表:newsdb 2.创建表格:news 字段:新闻id,标题,关 ...
- 页面静态化3 --- 使用PHP页面缓存机制来完成页面静态化(下)操作一个案例(新闻管理系统)
案例需求: 使用PHP缓存机制完成新闻管理系统的页面静态化数据库表 ecs_article (新闻表)因为新闻这些信息,并不是对实时性要求高,本身这个新闻比较稳定,内容也比较固定,所以我们考虑: 当第 ...
- MDA系统分析实战--图书馆管理系统
MDA系统分析实战--图书馆管理系统 本文通过MDA系统分析方法,对图书馆管理系统进行分析,简要叙述系统分析的一般过程.首先,简要介绍什么是MDA:MDA(Model-Driven Architect ...
- PHP基础示例:用PHP+Mysql编写简易新闻管理系统
实现目标:使用php和mysql操作函数实现一个新闻信息的发布.浏览.修改和删除操作 实现步骤: 一.创建数据库和表 1.创建数据库和表:newsdb 2.创建表格:news 字段:新闻id,标题,关 ...
- python操作三大主流数据库(4)python操作mysql④python服务端flask和前端bootstrap框架结合实现新闻展示
python操作mysql④python服务端flask和前端bootstrap框架结合实现新闻展示 参考文档http://flask.pocoo.org/docs/0.11/http://flask ...
- 基于ASP.NET的新闻管理系统(一)
1. 项目简介 1.1设计内容 (1)可以在首页查看各类新闻,可以点击新闻查看具体内容:可以查看不同类型的新闻,并了解热点新闻,可以在搜索框里输入要查找的内容. (2)在后台界面中,管理员可以修改密码 ...
- 基于ASP.NET的新闻管理系统(二)效果展示
5. 新闻管理系统开发与实现 5.1前台新闻页面 主页面 新闻栏展示新闻 搜索新闻 菜单栏链接新闻 后台登录界面 大管理员后台管理界面 小管理员后台管理界面 修改密码 增加新闻界面 栏目管理界面 ...
- Spring Boot → 11:项目实战-账单管理系统完整版
Spring Boot → 11:项目实战-账单管理系统完整版
随机推荐
- python opencv3 读写图像文件
git: https://github.com/linyi0604/Computer-Vision # coding:utf8 import cv2 # 读取一张图片, 第二个参数可选 image = ...
- springboot项目打war包部署到服务器(eclipse & gradle环境)
1.右键项目run as -> run configurations,打开Run configurations弹出框 2.右键Gradle Project -> New Configur ...
- [BZOJ4668]冷战(并查集)
比较自然的思路是,由于需要记录连通块合并时的信息,所以需要建出Kruskal重构树. 需要用LCT维护,支持加点和在线LCA操作. 不妨考虑在并查集合并的同时记录信息,pre[x]表示x与它的父亲相连 ...
- ARC 067 E - Grouping
题面在这里! 很显然是个暴力dp. 我们先枚举一下 队伍人数的种类,然后再逆序枚举一下dp数组里的总人数(顺序就会算重),最后枚举一下这种队伍的数量,之后就可以O(1)算方案了. 具体的,O(1)算方 ...
- RAD Studio 2010~XE8 官方 ISO 下载地址 (2015-03-28更新)
http://bbs.csdn.net/topics/390816856 RAD Studio XE8 目前最新版 v22.0.19027.8951 官方 ISO 文件下载(6.72GB):http: ...
- 浏览器数据库IndexedDB介绍
摘要 在移动端H5页面开发的时候,为了更好的提高用户体验,可以对不常变化的数据做浏览器端数据缓存,在用户打开页面的时候,首先加载本地的数据,然后异步请求服务端,更新数据.在移动端webview中,可以 ...
- spring mvc Controller中使用@Value无法获取属性值
在使用spring mvc时,实际上是两个spring容器: 1,dispatcher-servlet.xml 是一个,我们的controller就在这里,所以这个里面也需要注入属性文件 org.sp ...
- Eclipse:引用一个项目作为类库(图文教程)
前言:项目TestRoid要引用Volley项目作为类库 步骤如下: 一:选择导入Android项目 二:选择Volley项目路径导入 三:右击Volley项目,点击Properties 四: ...
- DevExpress Components16.2.6 Source Code 编译
DevExpress 是一个比较有名的界面控件套件,提供了一系列优秀的界面控件.这篇文章将展示如何在拥有源代码的情况下,对 DevExpress 的程序集进行重新编译. 特别提示:重编译后,已安装好的 ...
- java利用poi包 为excel生成超链接
转载自:http://www.blogjava.net/leekiang/archive/2008/10/21/235794.html 1,一个需求, 要求报表生成的Excel表格支持超链接.例如 ...