Cara membangunkan soal selidik dalam talian yang mudah menggunakan MySQL dan Python
Pengenalan
Soal selidik dalam talian digunakan secara meluas dalam masyarakat moden untuk mengumpul pandangan, maklum balas dan pendapat pengguna. Artikel ini akan memperkenalkan cara menggunakan MySQL dan Python untuk membangunkan sistem soal selidik dalam talian yang mudah, dan menyediakan contoh kod yang berkaitan.
1. Reka bentuk pangkalan data
Buat pangkalan data bernama tinjauan:
CREATE DATABASE survey;
Buat jadual bernama soalan dan jawapan:
Buat jadual soalan untuk menyimpan soalan soal selidik:
CREATE TABLE questions ( id INT PRIMARY KEY AUTO_INCREMENT, question_text VARCHAR(255) NOT NULL );
CREATE TABLE responses ( id INT PRIMARY KEY AUTO_INCREMENT, question_id INT, response_text VARCHAR(255) NOT NULL, FOREIGN KEY (question_id) REFERENCES questions(id) );
import mysql.connector from mysql.connector import Error from flask import Flask, request, render_template
def create_connection(): connection = None try: connection = mysql.connector.connect( host='localhost', database='survey', user='your_username', password='your_password' ) if connection.is_connected(): print('Connected to MySQL database') except Error as e: print(e) return connection
Buat halaman hadapan (index.html):
app = Flask(__name__) @app.route('/') def home(): # 获取所有的问题 connection = create_connection() cursor = connection.cursor() query = 'SELECT * FROM questions' cursor.execute(query) questions = cursor.fetchall() cursor.close() connection.close() return render_template('index.html', questions=questions) @app.route('/survey', methods=['POST']) def survey(): # 获取用户的答案 connection = create_connection() cursor = connection.cursor() response_text = request.form['response'] question_id = request.form['question_id'] query = 'INSERT INTO responses (question_id, response_text) VALUES (%s, %s)' cursor.execute(query, (question_id, response_text)) connection.commit() cursor.close() connection.close() return 'Thank you for your response!' if __name__ == '__main__': app.run()
3 Jalankan dan uji
Jalankan kod Python dalam terminal:
<!DOCTYPE html> <html> <head> <title>Survey</title> </head> <body> <h1>Survey</h1> <form action="/survey" method="POST"> {% for question in questions %} <p>{{ question[1] }}</p> <input type="hidden" name="question_id" value="{{ question[0] }}"> <input type="text" name="response" required> {% endfor %} <input type="submit" value="Submit"> </form> </body> </html>
Atas ialah kandungan terperinci Bagaimana untuk membangunkan soal selidik dalam talian yang mudah menggunakan MySQL dan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!