没有Python中复选框的输出

时间:2016-10-09 16:26:46

标签: python forms variables for-loop cgi

我是Python和这个论坛的新手。所以我会尽力解释我的问题 我正在尝试将复选框的结果与SQLite数据库中的字段中的相应数据一起显示。我进入我的代码,如果我只是“打印精选书”我得到复选框结果,但为了从其他字段字段中获取相应的数据,我有以下代码。我不确定我做错了什么。我的代码如下。 “for”循环内的所有内容都不会打印

import sys, cgi, cgitb, sqlite3

# Create instance of FieldStorage
form = cgi.FieldStorage()
conn = sqlite3.connect('battleofthebooks.db')
c = conn.cursor()

value = form.getlist('selectedbook')
selectedbook = "<br/><br />".join(sorted(value))

print "Content-Type: text/html\r\n\r\n"
print "<html>"
print "<head>"
print "<title>Battle of the Books</title>"
print "</head>"
print "<body>"
print "<h3>You have chosen the following books:</h3>"

print selectedbook
TITLE = ""
for row in c.execute("SELECT * FROM BOBBOOKLIST where TITLE=(?)", (TITLE, )):
    print selectedbook
    print row[2]
    print "<br />"
    print row[3]
    print "<br />"
    print "Books in Stock:  ",  row[4]
    print "<br />"

1 个答案:

答案 0 :(得分:0)

啊,忠实的c.execute操作。好。给出

的印刷品
print c.execute("SELECT * FROM BOBBOOKLIST where TITLE=(?)", (TITLE, ))
那时你会知道答案。触发c.execute时,数据为新数据,光标不再对旧数据有效。 您始终可以将c.execute的值存储到变量中,然后在for循环中迭代该变量。