呵呵,可以MySQL里面没有游标这个概念;-)
如果数据量不是很大,可以一次讲所有的全部读出来放入数组中,馊注意....
比较好的办法是新建一个auto_increment列(假设名为:AID),为其建一个索引,
第一个:select pid from table where aid = 1;
最后一个:select pdi from tab order by aid desc limit 1;
下一个,和上一个实现把当前的AID取出来
aid-1即上一个,aid+1下一个

解决方案 »

  1.   

    to 楼上的, ID不一定是相连的,因为有时候可能某些信息被删除了.中间会有断的
    取得上一条和下一条可以根据当前信息的ID
    select * from tableName where id < currentId order by id limit 1
    下一条就是
    select * from tableName where id > currentId order by id limit 1
      

  2.   

    那就是说如果我要四个都做的话,就要四个 sql 语句啦???
      

  3.   

    看你用上一条、下一条,应该不是用在web开发上吧。
    你可以每次读n条(比如10条),到一个数组中,每次读这个数组,等 n 条读完了,如果继续查询, 就又读 n 条。就象C++的Vector的动态增长。呵呵。
      

  4.   

    无索引的ORDER BY很要命的…………