2016-10-09 5 views
0

私はPythonとこのフォーラムの初心者です。だから、できる限り私の問題を説明しようとします。
私はチェックボックスの結果をSQLiteデータベースのフィールドの対応するデータとともに表示しようとしています。チェックボックスの結果が表示されますが、他のフィールドのフィールドから対応するデータを取得するには、次のコードがあります。私は何が間違っているのか分かりません。私のコードは以下の通りです。 "for"ループ内のすべてが印刷されません。Pythonのチェックボックスからの出力なし

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 />" 

答えて

0

Ahh the faithful c.execute operation OK。

print c.execute("SELECT * FROM BOBBOOKLIST where TITLE=(?)", (TITLE,)) 

の印刷を与え、あなたは答えを知っていることでしょう。 c.executeがトリガされると、データは新しくなり、カーソルはもはや古いものには有効ではなくなります。 いつでもc.executeの値を変数に格納してから、forループ内の変数を反復することができます。

関連する問題