PHP-实战新闻模块

  • 2020 年 3 月 27 日
  • 笔记

1.4 新闻模块

1.4.1 包含文件

由于所有的操作都要连接数据库,将连接数据库的代码存放到包含文件中

步骤

1、在站点下创建inc文件夹

2、在inc下创建conn.php文件,用来连接数据库,代码就是上面连接数据库的代码

代码实现

<?php  //连接数据库  $link=@mysqli_connect('localhost','root','root','data') or die('错误:'.mysqli_connect_error());  mysqli_set_charset($link,'utf8');

1.4.2 显示新闻

步骤:

1、连接数据库

2、获取数据

3、遍历循环数据

代码

<style type="text/css">  	table{  		width:780px;  		border:solid 1px #000;  		margin:auto;  	}  	th,td{  		border:solid 1px #000;  	}  </style>  <body>  <?php  //1、连接数据库  require './inc/conn.php';  //2、获取数据  $rs=mysqli_query($link,'select * from news order by id desc');	//返回结果集对象  $list=mysqli_fetch_all($rs,MYSQLI_ASSOC);		//将结果匹配成关联数组  ?>  <table>  	<tr>  		<th>编号</th> <th>标题</th> <th>内容</th> <th>时间</th> <th>修改</th> <th>删除</th>          <!--3、循环显示数据-->  		<?php foreach($list as $rows):?>  		<tr>  			<td><?php echo $rows['id']?></td>  			<td><?php echo $rows['title']?></td>  			<td><?php echo $rows['content']?></td>  			<td><?php echo date('Y-m-d H:i:s',$rows['createtime'])?></td>  			<td><input type="button" value="修改" οnclick=""></td>  			<td><input type="button" value="删除" οnclick=""></td>  		</tr>  		<?php endforeach;?>  	</tr>  </table>  </body>

运行结果

1.4.3 添加新闻

步骤:

1、创建表单

2、连接数据库

3、将新闻数据写入到数据库中

入口(list.php)

<a href="./add.php">添加新闻</a>

代码实现

<body>  <?php  if(!empty($_POST)) {  	//2、连接数据库  	require './inc/conn.php';      //3、插入数据  	$time=time();	//获取时间戳  	$sql="insert into news values (null,'{$_POST['title']}','{$_POST['content']}',$time)";  //拼接SQL语句    	if(mysqli_query($link,$sql))	//执行SQL语句  		header('location:./list.php');	//插入成功就跳转到list.php页面  	else{  		echo 'SQL语句插入失败<br>';  		echo '错误码:'.mysqli_errno($link),'<br>';  		echo '错误信息:'.mysqli_error($link);  	}  }  ?>  <!--1、创建表单-->  <form method="post" action="">  	标题: <input type="text" name="title"> <br /> <br />  	内容:  <textarea name="content" rows="5" cols="30"></textarea> <br /> <br />  	<input type="submit" name="button" value="提交">  </form>  </body>

运行结果

1.4.4 删除新闻

步骤:

1、在list.php页面点击删除按钮,跳转到del.php页面,传递删除的id

2、在del.php页面连接数据库

3、通过id删除数据

4、删除成功后,跳转到list.php

入口(list.php)

<input type="button" value="删除" οnclick="if(confirm('确定要删除吗'))kk='./del.php?id=<?php echo $rows['id']?>'">

del.php

<?php  //1、连接数据库  require './inc/conn.php';  //2、拼接SQL语句  $sql="delete from news where id={$_GET['id']}";  //3、执行SQL语句  if(mysqli_query($link,$sql))  	header('location:./list.php');  else{  	echo '删除失败';  }

小结:

1、一个页面是否写HTML架构,取决于是否有显示功能。

2、如果一个页面只是做业务逻辑,没有显示功能,就不需要写HTML架构,比如del.php页面

1.4.5 修改新闻

入口(list.php)

<input type="button" value="修改" οnclick="kk='edit.php?id=<?php echo $rows['id']?>'">

edit.php页面

步骤

第一步:显示修改界面

​ 1、连接数据库

​ 2、获取修改的数据

​ 3、将数据显示到表单中

第二步:执行修改逻辑

​ 1、获取新数据

​ 2、拼接修改的SQL语句,执行修改逻辑

代码如下

<?php  //连接数据库  require './inc/conn.php';  //1、获取修改的数据库  $sql="select * from news where id={$_GET['id']}";	//拼接SQL语句  $rs=mysqli_query($link,$sql);	//获取修改的数据  $rows=mysqli_fetch_assoc($rs);	//将修改的数据匹配成一维关联数组  //2、执行修改的逻辑  if(!empty($_POST)) {  	$id=$_GET['id'];		//获取修改的id  	$title=$_POST['title'];	//修改的标题  	$content=$_POST['content'];	//修改的内容  	$sql="update news set title='$title',content='$content' where id=$id"; //拼接SQL语句  	if(mysqli_query($link,$sql))  		header('location:list.php');   //修改成功跳转到list.php页面  	else  		echo '错误:'.mysqli_error($link);  	exit;  }  ?>  <!doctype html>  <html>  <head>  <meta charset="utf-8">  <title>无标题文档</title>  </head>    <body>  <form method="post" action="">  	标题: <input type="text" name="title" value='<?php echo $rows['title']?>'> <br /> <br />  	内容:  <textarea name="content" rows="5" cols="30"><?php echo $rows['content']?></textarea> <br /> <br />  	<input type="submit" name="button" value="提交">  	<input type="button" value="返回" οnclick="kk='list.php'">  </form>  </body>  </html>

运行结果