Python CGI:如何将大输出分割成页面?

时间:2011-09-19 19:44:42

标签: python cgi

如何将python-cgi输出拆分为多个页面。 样本循环结构:

1:

if x is true:
   c.execute("select m from n where id=%s")
   gene=c.fetchall()
   print "%s", (gene),
else:
   print "NA"

if y is true:
   c.execute("select p from q where id=%s")
   protein=c.fetchall()
   print "%s", (protein),
else:
   print "NA"

print "\n"

输出数百万行。我想将输出分解为页面。每页50行。我怎么做?我感谢您的帮助。谢谢。

2 个答案:

答案 0 :(得分:3)

粗略草图如何进行:

  1. 您必须将参数page编码到您的网址中,这表示:“显示网页编号page”。这类似于http://xxx.abc.de/genes?page=3,您必须修改脚本以检索此参数。这可以使用http://docs.python.org/library/urlparse.html#

  2. 完成
  3. 您必须修改您的选择,以便检索元素page ... page+pagesize-1。 MySQL为此设置了limit修饰符。请参阅http://dev.mysql.com/doc/refman/5.1/en/select.html

  4. 您必须在页面上生成链接到上一页和下一页(如果存在)的链接。根据上面的示例,这将是http://xxx.abc.de/genes?page=2http://xxx.abc.de/genes?page=4

答案 1 :(得分:0)

使用“LIMIT offset,limit”sql语句。您还可以缓冲输出,并按页(文件)写入数据打破它