本文实例讲述了PHP实现简单的新闻发布系统。分享给大家供大家参考。具体如下:
本人小白,一直在公司用模板和框架写PHP,发现有时候连基本的sql语句都忘记了,所以有空想把PHP基础复习下,巩固下。分页和搜索,以及排序,还没写,后期继续更新...(代码修改:添加搜索和分页功能)
articlePublish.html:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf8"> <title>Insert title here</title> </head> <body bgcolor="#ccc"> <form name="article" method="post" action="articlePublishDo.php" style="margin:5px 500px;"> <h1 id="发布新闻系统">发布新闻系统</h1> 标题:<input type="text" name="title"/><br/> 内容:<textarea cols=30 rows=5 name="content"></textarea><br/><br/> <input type="submit" value="发布新闻"/> </form> </body> </html>
articlePublishDo.php:
<?php header("content-type:text/html;charset=utf8"); date_default_timezone_set('Asia/Shanghai'); $title=trim($_POST['title']); $content=trim($_POST['content']); $time=date("y-m-d H:i:s"); require_once 'init.php'; $sql="insert into article(title,content,create_time) values('$title','$content','$time')"; //echo $sql; $re=mysql_query($sql);//执行sql语句 if($re){ echo "发布成功"; echo '<a href="articleList.php">返回文章列表</a>'; }else{ echo "发布失败"; echo '<a href="articleList.php">返回文章列表</a>'; } mysql_close();//关闭数据库
articleList.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf8"> <title>Insert title here</title> </head> <body> <!-- 搜索框 --> <form method="get" action="articleList.php" style="margin:10px 400px;"> <input type="text" name="search"/> <input type="submit" value="搜索"/> </form> <br/> <table cellspacing="0" cellpadding="0" align="center" bgcolor="#ccc" width=500 > <a href="articlePublish.html" style="padding:20px 30px">返回发布文章</a> <tr> <th>编号</th> <th>文章标题</th> <th>文章内容</th> <th>编辑文章</th> </tr> <?php require_once 'init.php'; /** * 搜索 */ $keyword=$_GET['search']; /*分页*/ $sql="select count(*) from article where title like '%$keyword%' or content like '%$keyword%'"; $res=mysql_query($sql); //$count= (int)mysql_num_rows($result); $arr=mysql_fetch_assoc($res); while(list($key,$val)=each($arr)){ $count = (int)$val; } //echo $count; $pageSize=4; $page=floor($count/$pageSize)+1;//总页数$page echo $page; //echo $page; if(isset($_GET['page'])) { //$currentPage = $_GET['page']; if($_GET['page'] <=1){ $currentPage = 1; }elseif ($_GET['page'] >= $page){ $currentPage = $page-1; }else{ $currentPage = $_GET['page']; } }else { $currentPage=1; } $start = ($currentPage-1)*$pageSize; $sql="select id,title,content from article where title like '%$keyword%' or content like '%$keyword%' limit $start,$pageSize"; //echo $sql; $re=mysql_query($sql);//执行sql语句 while($arr=mysql_fetch_assoc($re)){ ?> <tr> <td align="center" style="border:1px solid #000"><?php echo $arr['id'];?></td> <input type="hidden" name="id" value="<?php echo $arr['id'];?>"/> <td align="center" style="border:1px solid #000"><?php echo $arr['title'];?></td> <td align="center" style="border:1px solid #000"><?php echo $arr['content'];?></td> <td align="center" style="border:1px solid #000"> <a href="articleEdit.php?id=<?php echo $arr['id']?>"><font color="red">修改</font></a> <a href="articleDelete.php?id=<?php echo $arr['id']?>"><font color="red">删除</font></a> </td> </tr> <?php } mysql_close();//关闭数据库 ?> </table> <div style="margin:20px 400px;"> 共<?php echo $page?>页 |查到<?php echo $count;?>条记录 当前第<?php echo $_GET['page']?>页| <a href="articleList.php?page=1&search=<?php echo $keyword?>">首页</a> <a href="articleList.php?page=<?php echo ($currentPage-1)?>&search=<?php echo $keyword?>">|上一页</a> <a href="articleList.php?page=<?php echo ($currentPage+1)?>&search=<?php echo $keyword?>">|下一页</a> <a href="articleList.php?page=<?php echo $page?>&search=<?php echo $keyword?>">|末页</a> </div> </body> </html>
articleEdit.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf8"> <title>Insert title here</title> </head> <body bgcolor="#ccc"> <?php $id=(int)$_GET['id']; require_once 'init.php'; $sql="select id,title,content from article where id = '$id'"; //echo $sql; $re=mysql_query($sql);//执行sql语句 $arr=mysql_fetch_assoc($re); //var_dump($arr); mysql_close();//关闭数据库 ?> <form name="article" method="post" action="articleUpdate.php" style="margin:5px 500px;"> <h1 id="文章发布系统">文章发布系统</h1> <input type="hidden" name="id" value="<?php echo $arr['id']?>"/><br/> 标题:<input type="text" name="title" value="<?php echo $arr['title']?>"/><br/> 内容:<textarea cols=30 rows=5 name="content"><?php echo $arr['content']?></textarea><br/><br/> <input type="submit" value="修改文章"/> <a href="articleList.php">返回文章列表</a> <a href="articlePublish.html">返回发布文章</a> </form> </body> </html>
articleUpdate.php:
<?php header("content-type:text/html;charset=utf8"); $arr=$_POST; $id=(int)$arr['id']; require_once 'init.php'; $sql="update article set title = '$arr[title]',content = '$arr[content]' where id = '$id'"; //echo $sql; $re=mysql_query($sql);//执行sql语句 //echo $re; if($re){ echo "修改成功"; echo "<a href='articleList.php'>返回文章列表</a>"; }else{ echo "修改失败"; echo "<a href='articleList.php'>返回文章列表</a>"; } mysql_close();//关闭数据库
articleDelete.php:
<?php header("content-type:text/html;charset=utf8"); require_once 'init.php'; $id=(int)$_GET['id']; $sql="delete from article where id = '$id'"; //echo $sql; $re=mysql_query($sql); if($re){ echo "删除成功"; echo "<a href='articleList.php'>返回文章列表</a>"; }else{ echo "删除失败"; echo "<a href='articleList.php'>返回文章列表</a>"; }
init.php:
<?php //连接数据库 //五步走 //往数据库添加文章 $conn=mysql_connect("localhost","root","");//链接数据库 //echo $conn; $re=mysql_select_db("article");//选择数据库 mysql_query("set names utf8");//设置交互字符集
基础知识总结:
文章发布系统
1.articlePublish.html 发布文章页面 提交到articlePublishDo.php页面,执行写入数据库
2.articleList.php 文章列表页面
3.点击编辑,修改文章 提交到 aiticleEdit.php 表单页面(回显)
4.点击修改文章按钮 提交到 articleUpdate.php
希望本文所述对大家的php程序设计有所帮助。

计算PHP多维数组的元素总数可以使用递归或迭代方法。1.递归方法通过遍历数组并递归处理嵌套数组来计数。2.迭代方法使用栈来模拟递归,避免深度问题。3.array_walk_recursive函数也能实现,但需手动计数。

在PHP中,do-while循环的特点是保证循环体至少执行一次,然后再根据条件决定是否继续循环。1)它在条件检查之前执行循环体,适合需要确保操作至少执行一次的场景,如用户输入验证和菜单系统。2)然而,do-while循环的语法可能导致新手困惑,且可能增加不必要的性能开销。

在PHP中高效地哈希字符串可以使用以下方法:1.使用md5函数进行快速哈希,但不适合密码存储。2.使用sha256函数提高安全性。3.使用password_hash函数处理密码,提供最高安全性和便捷性。

在PHP中实现数组滑动窗口可以通过函数slidingWindow和slidingWindowAverage来完成。1.使用slidingWindow函数可以将数组分割成固定大小的子数组。2.使用slidingWindowAverage函数可以在每个窗口内计算平均值。3.对于实时数据流,可以使用ReactPHP进行异步处理和异常值检测。

PHP中的__clone方法用于在对象克隆时进行自定义操作。使用clone关键字克隆对象时,如果对象有__clone方法,会自动调用该方法,允许在克隆过程中进行定制化处理,如重置引用类型属性以确保克隆对象的独立性。

在PHP中,goto语句用于无条件跳转到程序中的特定标签。1)它可以简化复杂嵌套循环或条件语句的处理,但2)使用goto可能导致代码难以理解和维护,3)建议优先使用结构化控制语句。整体而言,goto应谨慎使用,并遵循最佳实践以确保代码的可读性和可维护性。

在PHP中,数据统计可以通过使用内置函数、自定义函数和第三方库来实现。1)使用内置函数如array_sum()和count()进行基本统计。2)编写自定义函数计算中位数等复杂统计。3)利用PHP-ML库进行高级统计分析。通过这些方法,可以高效地进行数据统计。

是的,PHP中的匿名函数是指没有名字的函数。它们可以作为参数传递给其他函数,并作为函数的返回值,使代码更加灵活和高效。使用匿名函数时需要注意作用域和性能问题。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

Atom编辑器mac版下载
最流行的的开源编辑器

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

禅工作室 13.0.1
功能强大的PHP集成开发环境

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

Dreamweaver Mac版
视觉化网页开发工具