每天都抽一点时间总结一下。
在实际php开发当中,关于一些发布新闻或者文章,一般会涉及上一篇,下一篇的功能。在做这个功能时,首先会想到,如何一步的实现呢?我会想到的是,怎样拿到上一篇的id,和下一篇的id呢?经过一番的思考,我想到了。解题的思路,如下:
1、连接数据库。
2、通过limit限制语句获取到上一篇或下一篇的id
3、利用if语句判断,上一篇,那么就获取到最小的id,与它当前的id相等。下一篇,反之。。。
蜜雪冰城官网:/
4、 $rsQ = mysql_fetch_object($resultQ); //它为一个对象的数组,结果集(记录集)中取得一行作为对象,利用json接口返回的数据取每一个参数。
<?php
require_once 'conn.php'; // 连接数据库
//上一篇文章
$id = $_GET['id']; // id 为每一篇文章的id
$sqlQ = "select * from 表名where id < $id order by id desc limit 0,1"; // 取出上一篇的id小于当前的id
// 查询数据获取id的最小值
$Sqlmin="select id from 表名 where id=(select min(id) from 表名)";
$resultmin = mysql_query($Sqlmin);
// 获取Sqlmin中的某一个字段
$rowQ = mysql_fetch_assoc($resultmin);
$resultQ = mysql_query($sqlQ) or die('错误:'.mysql_error());
$rsQ = mysql_fetch_object($resultQ); //结果集(记录集)中取得一行作为对象。
if ($id == $rowQ['id']) {
$idQ = '';
$rsQtitle = ''; // 上一篇的标题
}
else{
$idQ = $rsQ->id; // stdClass Object里面每个参数的值 , 利用json接口返回的数据
$rsQtitle = $rsQ->title; // 上一篇的标题
}
//下一篇文章
$sqlH = "select * from lujiaoxiang_addarticle where id > $id order by id asc limit 0,1";
// 查询数据获取id的最大值
$Sqlmax="select id from lujiaoxiang_addarticle where id=(select max(id) from lujiaoxiang_addarticle)";
$resultmax = mysql_query($Sqlmax);
$rowH = mysql_fetch_assoc($resultmax);
$resultH = mysql_query($sqlH) or die('错误:'.mysql_error());
$rsH = mysql_fetch_object($resultH);
if ($id == $rowH['id']) {
$idH = '';
$rsHtitle = '';
}
else{
$idH = $rsH->id; // stdClass Object里面每个参数的值 , 利用json接口返回的数据
$rsHtitle = $rsH->title; // 下一篇的标题
}
?>
最终效果如下图: