在并集或交集中执行数据库搜索

2024-10-01 02:33:57 发布

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

“我的代码”允许用户在提供的空间中输入关键字,然后单击“搜索”按钮,在数据库中搜索这些关键字,并显示行中包含该关键字的url。 代码自动执行联合搜索。在

我在我的页面中添加了两个单选按钮,名为union和intersect。如何更改代码以允许用户通过选择单选按钮来选择要执行的搜索?在

#!/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()

编辑:HTML/XML代码:

^{pr2}$

Tags: appsor代码fromimportselfurlfield