本文实例讲述了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 $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程序设计有所帮助。

TomakePHPapplicationsfaster,followthesesteps:1)UseOpcodeCachinglikeOPcachetostoreprecompiledscriptbytecode.2)MinimizeDatabaseQueriesbyusingquerycachingandefficientindexing.3)LeveragePHP7 Featuresforbettercodeefficiency.4)ImplementCachingStrategiessuc

ToimprovePHPapplicationspeed,followthesesteps:1)EnableopcodecachingwithAPCutoreducescriptexecutiontime.2)ImplementdatabasequerycachingusingPDOtominimizedatabasehits.3)UseHTTP/2tomultiplexrequestsandreduceconnectionoverhead.4)Limitsessionusagebyclosin

Dependency injection (DI) significantly improves the testability of PHP code by explicitly transitive dependencies. 1) DI decoupling classes and specific implementations make testing and maintenance more flexible. 2) Among the three types, the constructor injects explicit expression dependencies to keep the state consistent. 3) Use DI containers to manage complex dependencies to improve code quality and development efficiency.

DatabasequeryoptimizationinPHPinvolvesseveralstrategiestoenhanceperformance.1)Selectonlynecessarycolumnstoreducedatatransfer.2)Useindexingtospeedupdataretrieval.3)Implementquerycachingtostoreresultsoffrequentqueries.4)Utilizepreparedstatementsforeffi

PHPisusedforsendingemailsduetoitsbuilt-inmail()functionandsupportivelibrarieslikePHPMailerandSwiftMailer.1)Usethemail()functionforbasicemails,butithaslimitations.2)EmployPHPMailerforadvancedfeatureslikeHTMLemailsandattachments.3)Improvedeliverability

PHP performance bottlenecks can be solved through the following steps: 1) Use Xdebug or Blackfire for performance analysis to find out the problem; 2) Optimize database queries and use caches, such as APCu; 3) Use efficient functions such as array_filter to optimize array operations; 4) Configure OPcache for bytecode cache; 5) Optimize the front-end, such as reducing HTTP requests and optimizing pictures; 6) Continuously monitor and optimize performance. Through these methods, the performance of PHP applications can be significantly improved.

DependencyInjection(DI)inPHPisadesignpatternthatmanagesandreducesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itallowspassingdependencieslikedatabaseconnectionstoclassesasparameters,facilitatingeasiertestingandscalability.

CachingimprovesPHPperformancebystoringresultsofcomputationsorqueriesforquickretrieval,reducingserverloadandenhancingresponsetimes.Effectivestrategiesinclude:1)Opcodecaching,whichstorescompiledPHPscriptsinmemorytoskipcompilation;2)DatacachingusingMemc


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

SublimeText3 Linux new version
SublimeText3 Linux latest version

WebStorm Mac version
Useful JavaScript development tools
