使用python从sqlite数据库填充关键字下拉菜单

2024-10-01 02:27:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我对python比较陌生,我的书名说明了一切。我在这里看到,我能找到的最接近的是PHP而不是python。在

我写的代码是预先执行一个搜索,点击一个搜索按钮,在我的数据库中搜索输入的关键字,并在我的网页的行中显示与该关键字对应的所有url。在

现在我需要下拉菜单来填充加载页面上的所有关键字,并能够点击关键字将预执行搜索,就像键入关键字一样。我的下拉列表将拉入k1-k13列,这些列可能有文本,也可能没有文本。我计划使用distinct来删除任何重复的单词和空白字段,但至少想让它先工作。我的下拉列表是用XML编写的。在

我得到的是:

#!/usr/bin/env python2.7

import sys
import sqlite3
from string import Template
from cgi import FieldStorage
from dateutil import parser
from textwrap import dedent
from eicpy.www import CGIHandler
from eicpy.sql import ezsql

from eicpy import www
from eicpy import cgierror
cgierror.enable(display=True)

DB = ezsql().connect("/usr/HTTPServer/dev7/data/asq1.db")

class Page(CGIHandler):

def handle1(self):
   search_terms = self.fs.getfirst("searchinp", None)
   if search_terms:
      fields = search_terms.split(" ")
      steps = []
      apps = []

      for field in fields:
        recs = DB.execute("select issue, url, steps from help where k1='%s' or
        k2='%s' or k3='%s' or k4='%s' or k5='%s' or k6='%s' or k7='%s' or
        k8='%s' or k9='%s' or k10='%s' or k11='%s' or k12='%s' or k13='%s'" %
        (field, field, field, field, field, field, field, field, field, field,
         field, field, field)).fetchall()

#self.debug(recs)

for r in recs:
  if r.steps == "S":
    steps.append({
    "issue" : r.issue,
    "size" : "600x460",
    "location" : "/" + r.url
    })

if r.steps =="A":
    apps.append({
    "issue" : r.issue,
    "size" : "600x460",
    "location" : "/" + r.url
    })

#self.debug(steps)
#self.debug(apps)

self.show({"steps": steps, "apps": apps})

else :
   self.show({})

if __name__ == '__main__':
    p = Page('Agent Support Query'
        ,'pt/asq.xml'
        , ['/styles/asq.css'])
    p.handle1()

Tags: appsorfromimportselfurlfieldsearch