这个可以取巧,先把这个数插进数组,然后数组排序,然后获得这个数的下标,-1就是相对位置的值前面26的值,27本来下标就是源数组中的后一个
创新互联专注于邹平企业网站建设,成都响应式网站建设公司,成都做商城网站。邹平网站建设公司,为邹平等地区提供建站服务。全流程专业公司,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
死一点的办法就是for循环对比值了,关键比对if:
if(arr[i]27 arr[i+1]27) continue;
if(arr[i]27 arr[i+1]27) echo 相对位置在i,i+1之间 ;
具体自己写啊
如果要求方便的话:
用 union 但是 如果数据表比较多的话 效率就会很差劲
select * from tests where id $id limit 4 union select * from tests where id $id limit 8
如果追求效率的话 可以这样做:
先找出 小于 此 $id 4 条记录的 最小的id (可以使用 order by DESC + limit 1 的组合 然后取第一个便是 ),然后 找出 大于此 $id 的 8 条记录
SELECT COUNT(*) FROM a, b WHERE a.dingdan = b.dingdan
然后用PHP执行这个sql_query,读取结果即可(第一行第一列)