pycharm中html中设置两个查询药品信息的下拉框,下拉框中的内容来自mysql
时间: 2024-05-10 08:16:28 浏览: 100
首先需要安装 mysql-connector-python 库,可以使用 pip 命令进行安装:
```
pip install mysql-connector-python
```
然后可以使用以下代码连接到 MySQL 数据库,并查询药品信息:
```python
import mysql.connector
# 连接到 MySQL 数据库
cnx = mysql.connector.connect(user='username', password='password',
host='localhost',
database='mydatabase')
# 执行查询语句,获取药品列表
cursor = cnx.cursor()
query = "SELECT * FROM drugs"
cursor.execute(query)
drugs = cursor.fetchall()
# 关闭数据库连接
cursor.close()
cnx.close()
```
接下来,使用 Flask 框架创建一个简单的 Web 应用程序来展示药品信息,并设置两个下拉框来进行药品查询:
```python
from flask import Flask, render_template, request
import mysql.connector
app = Flask(__name__)
# 连接到 MySQL 数据库
cnx = mysql.connector.connect(user='username', password='password',
host='localhost',
database='mydatabase')
# 药品查询页面
@app.route('/', methods=['GET', 'POST'])
def index():
# 获取所有药品信息
cursor = cnx.cursor()
query = "SELECT * FROM drugs"
cursor.execute(query)
drugs = cursor.fetchall()
cursor.close()
# 处理查询请求
if request.method == 'POST':
# 获取查询条件
drug_type = request.form['drug_type']
drug_name = request.form['drug_name']
# 根据查询条件过滤药品列表
filtered_drugs = [drug for drug in drugs if
(not drug_type or drug[1] == drug_type) and
(not drug_name or drug[2] == drug_name)]
# 返回查询结果
return render_template('index.html', drugs=drugs, filtered_drugs=filtered_drugs)
# 返回所有药品信息
return render_template('index.html', drugs=drugs, filtered_drugs=[])
if __name__ == '__main__':
app.run(debug=True)
```
在 templates 文件夹中创建名为 index.html 的模板文件,用于展示药品信息和查询表单:
```html
<!DOCTYPE html>
<html>
<head>
<title>药品查询</title>
</head>
<body>
<h1>药品信息</h1>
<form method="POST">
<label for="drug_type">药品类型:</label>
<select id="drug_type" name="drug_type">
<option value="">全部</option>
{% for drug in drugs %}
<option value="{{ drug[1] }}">{{ drug[1] }}</option>
{% endfor %}
</select>
<label for="drug_name">药品名称:</label>
<select id="drug_name" name="drug_name">
<option value="">全部</option>
{% for drug in drugs %}
<option value="{{ drug[2] }}">{{ drug[2] }}</option>
{% endfor %}
</select>
<button type="submit">查询</button>
</form>
{% if filtered_drugs %}
<h2>查询结果</h2>
<table>
<thead>
<tr>
<th>药品类型</th>
<th>药品名称</th>
<th>药品价格</th>
</tr>
</thead>
<tbody>
{% for drug in filtered_drugs %}
<tr>
<td>{{ drug[1] }}</td>
<td>{{ drug[2] }}</td>
<td>{{ drug[3] }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endif %}
</body>
</html>
```
在浏览器中访问 http://localhost:5000/ 即可查看药品查询页面。选择药品类型和药品名称进行查询,查询结果会显示在页面下方的表格中。
阅读全文