您的位置:首页 > 编程语言 > PHP开发

PHP留言小练习

2016-06-14 22:38 274 查看

实现功能:

  留言、搜索、编辑、删除、详情页、时间、点击量

页面划分:  

  index.html(留言列表页)
  add.html(留言页)
  edit.php(编辑页)
  del.php(删除页)
  view.php(详情页)
  conn.php(数据库连接)

数据字段:

  


视图呈现:

  


代码展现:

index.php

<link rel="stylesheet" href="css/main.css">
<div class="g-wrap">
<div class="m-top">
<a class="mt-link" href="add.php">留言</a>
<div class="mt-search">
<form action="" name="keys">
<input type="text" name="keys">
<input type="submit" value="搜索">
</form>
</div>
</div>
<div class="m-con">
<ul class="m-infor">
<?php
include("conn.php");//引入数据库
if(!empty($_GET['keys'])){
$w = " `title` like '%".$_GET['keys']."%' ";
}
else{
$w = 1;
}
$sql = "select * from `news` where $w order by id desc limit 10";//倒序显示10条,where 1表示没有任何条件和不写一样
$query = mysql_query($sql);//执行sql语句并返回资源
//$rs = mysql_fetch_array($query);//返回双重数组,下标和键名都有,每执行一次得到一条
while( ($rs = mysql_fetch_array($query)) != false ){
?>
<li class="mi-list">
<h3 class="ml-top">
<a href="view.php?id=<?php echo $rs['id']; ?>">
<?php echo $rs['title']; ?>
</a>
</h3>
<div class="ml-cen">
<?php echo iconv_substr($rs['contents'],0,10,"gbk"); ?>...
</div>
<div class="ml-bot">
<span class="mb-l"><?php echo $rs['dates']; ?></span>
<div class="mb-r">
<a href="edit.php?id=<?php echo $rs['id']; ?>">编辑</a>
<a href="del.php?del=<?php echo $rs['id']; ?>">删除</a>
</div>
</div>
</li>
<?php
}
?>
</ul>
</div>
</div>


add.php

<link rel="stylesheet" href="css/main.css">
<?php
include("conn.php");//引入链接数据库
if( !empty($_POST["sub"]) ){//第一次返回真empty($_POST["sub"])这里也可以用其他值判断
$title = $_POST['title'];
$con = $_POST['con'];

$sql = "insert into `news` (`id`,`title`,`dates`,`contents`,`hits`) values (null,'$title',now(),'$con',0)";

mysql_query($sql);//执行sql语句

$url = "./index.php";

echo "<script>location.href='".$url."';</script>";
//print_r($sql);
}
?>
<div class="g-wrap">
<div class="m-form">
<form action="add.php" method="post">
<ul>
<li>
<label for="">标题:</label>
<input type="text" name="title">
</li>
<li>
<label for="">内容:</label>
<textarea id="" cols="30" rows="10" name="con"></textarea>
</li>
<li>
<input type="submit" name="sub" value="发表">
</li>
</ul>
</form>
</div>
</div>


edit.php

<link rel="stylesheet" href="css/main.css">
<?php
include("conn.php");
if( !empty($_GET['id']) ){
$sql = "select * from news where `id`='".$_GET['id']."'";
$query = mysql_query($sql);//执行sql语句

$rs = mysql_fetch_array($query);
//print_r($rs);
}
//执行update语句
if(!empty($_POST["sub"])){//第一次返回真empty($_POST["sub"])这里也可以用其他值判断 这里只有点提交的时候才执行嘛

$title = $_POST['title'];
$con = $_POST['con'];
$hid = $_POST['hid'];//这里也可以通过get获取值与之对应起来
$sql = "update `news` set `title`='$title',`contents`='$con' where id='$hid' limit 1 ";

mysql_query($sql);//执行sql语句

//echo "更新成功";
echo "<script>alert('更新成功!');location.href='index.php';</script>";
}
?>
<div class="g-wrap">
<div class="m-form">
<form action="edit.php" method="post">
<input type="hidden" name="hid" value="<?php echo $rs['id']; ?>">
<ul>
<li>
<label for="">标题:</label>
<input type="text" name="title" value="<?php echo $rs['title']; ?>">
</li>
<li>
<label for="">内容:</label>
<textarea id="" cols="30" rows="10" name="con"><?php echo $rs['contents']; ?></textarea>
</li>
<li>
<input type="submit" name="sub" value="发表">
</li>
</ul>
</form>
</div>
</div>


del.php

<?php
include("conn.php");

if(!empty($_GET['del'])){//empty()当为空时返回真
$d = $_GET['del'];
$sql = "delete from `news` where `id`='$d'";

mysql_query($sql);//执行sql语句
$url = "./index.php";
echo "<script>alert('删除成功!');location.href='".$url."';</script>";
}
?>


view.php

<link rel="stylesheet" href="css/main.css">
<?php
include("conn.php");//引入链接数据库
if(!empty($_GET['id'])){
$sql = "select * from news where `id`='".$_GET['id']."'";
$query = mysql_query($sql);//执行sql语句

$rs = mysql_fetch_array($query);

//print_r($rs);

$sqlup = "update news set hits=hits+1 where `id`='".$_GET['id']."'";
mysql_query($sqlup);

}
?>
<div class="g-wrap m-infor-details">
<h1 class="mid-title"><?php echo $rs['title']; ?></h1>
<p class="mid-con">
<?php echo $rs['contents']; ?>
</p>
<div class="mid-bot">
<span class="mid-b-l">时间:
<?php echo $rs['dates']; ?>
</span>
<span class="mid-b-r">点击量:
<?php echo $rs['hits']; ?>
</span>
</div>
</div>


conn.php

<?php
//@不把错误暴露出来
@mysql_connect("localhost:3306","root","123456") or die("mysql链接失败");
@mysql_select_db("test") or die("db链接失败");

//mysql_set_charset("gbk");//php5.2.3以上
mysql_query("set names 'gbk'");
?>


main.css

*{
margin: 0;
padding: 0;
}
li{
list-style-type: none;
}
body{
background-color: #1B9102;
font-size: 14px;
}
/*....................................index.html...........*/
.g-wrap{
margin: 50px auto 0;
width: 500px;
min-height: 300px;
box-shadow: 0 0 10px #fff;
}
.m-top{
background-color: #d2d2d2;
overflow: hidden;
}
.mt-link{
float: left;
}
.mt-search{
float: right;
font-size: 0;
}
[type=submit]{
cursor: pointer;
}
.mi-list{
color: #adadad;
padding-top: 20px;
border-bottom: 1px dashed #fff;
}
.ml-top{
color: #333;
}
.ml-cen{
margin-top: 10px;
font-size: 12px;
}
.ml-bot{
height: 50px;
line-height: 50px;
margin-top: 10px;
}
.mb-l{
float: left;
color: pink;
}
.mb-r{
float: right;
cursor: pointer;
}
/*......................................add.html...........*/
.m-form{
padding: 20px;
box-sizing: border-box;
}
.m-form li{
margin-bottom: 20px;
}
.m-form label{
color: #fff;
vertical-align: top;
}
/*......................................view.html...........*/
.m-infor-details{
padding: 20px 20px 50px;
box-sizing: border-box;
position: relative
}
.mid-title{
color: #fff;
text-align: center;
}
.mid-con{
color: #a9a9a9;
font-size: 14px;
margin-top: 20px;
text-indent: 30px;
}
.mid-bot{
position: absolute;
right: 20px;
bottom: 0;
left: 20px;
height: 50px;
line-height: 50px;
color: #fff;
}
.mid-b-l{
float: left;
}
.mid-b-r{
float: right;
}


代码下载

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: