2016-10-09 4 views
0

Я новичок в Python и этом форуме. Поэтому я постараюсь объяснить свою проблему как можно лучше.
Я пытаюсь показать результаты флажков с соответствующими данными из полей базы данных SQLite. Я получаю в своем коде, если у меня просто есть «печатные выбранные книги». Я получаю результаты проверки, но для получения соответствующих данных из других полей полей у меня есть следующий код. Я не уверен, что я делаю неправильно. Мой код ниже. Все, что находится внутри петли «для», не будет печататьсяNo Output from checkboxes in 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 верная операция c.execute. ОК. Дайте отпечатку

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

тогда вы бы знали ответ. Когда c.execute запускается, данные являются новыми, а курсор больше недействителен для старого. Вы всегда можете сохранить значение c.execute для переменной, а затем перебрать переменную в цикле for.