php入门例子,php实践总结

php入门例子,php实践总结,PHP实现上一篇下一篇的方法实例总结

本文主要介绍了php实现上一篇文章和下一篇文章的方法,并结合实例总结分析了PHP获取上一篇文章和下一篇文章的SQL操作的相关查询技巧。有需要的朋友可以参考以下。

本文结合实例分析了PHP实现上一篇文章和下一篇文章的方法。分享给你,供你参考,如下:

Php实现上一篇和下一篇帖子。这主要是通过sql根据当前id进行判断然后过滤掉当前ID之前或之后的数据。就这么简单。让我们来看看细节。

实现网站文章中上一条和下一条sql语句的编写。

当前文章的id是$article_id,当前文章对应类别的id是$cat_id,所以前一篇文章应该是:

复制代码如下:select max(article _ id)from article其中article _ id $ article _ id,cat _ id=$ cat _ id

在执行这个sql语句之后,您得到$max_id,然后

复制代码如下:select article _ id,title from article其中article _ id=$ max _ id

为了简化它,把它变成一个子查询:

复制代码如下:select article _ id,title from article where article _ id=(select max(article _ id)from article where article _ id $ article _ id and cat _ id=$ cat _ id);

下一个是,代码如下:

复制代码如下:select min(article _ id)from article其中article _ id $ article _ id,cat _ id=$ cat _ id

在执行这个sql语句之后,您得到$min_id,然后:

复制代码如下:select article _ id,title from article其中article _ id=$ min _ id

为了简化它,把它变成一个子查询:

复制代码如下:select article _ id,title from article where article _ id=(select min(article _ id)from article where article _ id $ article _ id and cat _ id=$ cat _ id);

最后,很多朋友喜欢用下面这种说法。

在前一篇文章中,代码如下:

从id10限制为0,1的表中选择id;

这个当然没问题,但是性能感觉不太好。

sql语句优化:

您可以使用union all在一个语句中获得3行数据,但前提是三个查询的字段相同。查询结果第一行是上一篇文章,第二行是当前文章,第三行是下一篇文章。代码如下:

复制代码如下:(从表中选择id,其中id 10 order by id ASC limit 1)union all(从表中选择id,其中id=10) union all(从表中选择id,其中id 10 order by id desc limit 1);

现在让我们来看一些例子,在cms,phpcms实现的前一个和下一个。

获取当前浏览的文章id:

$id=isset($_GET[id]) 0?intval($ _ GET[ id ]):“”;

下一篇文章:

$query=mysql_query(SELECT id,title FROM article WHERE id $ id ORDER BY id ASC LIMIT 1 );

$ next=MySQL _ fetch _ array($ query);

前一篇文章:

$query=mysql_query(SELECT id,title FROM article WHERE id $ id ORDER BY id desc限制1 );

$ prev=MySQL _ fetch _ array($ query);

更多对PHP相关内容感兴趣的读者,请参考我们的专题:《php+mysql数据库操作入门教程》、《php+mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》和《php常见数据库操作技巧汇总》。

希望这篇文章对大家的PHP编程有所帮助。

php入门例子,php实践总结