>  기사  >  데이터 베이스  >  MySQL과 Python을 사용하여 간단한 온라인 설문지를 개발하는 방법

MySQL과 Python을 사용하여 간단한 온라인 설문지를 개발하는 방법

WBOY
WBOY원래의
2023-09-20 11:18:35775검색

MySQL과 Python을 사용하여 간단한 온라인 설문지를 개발하는 방법

MySQL 및 Python을 사용하여 간단한 온라인 설문지 개발 방법

소개
온라인 설문지는 현대 사회에서 사용자의 견해, 피드백 및 의견을 수집하기 위해 널리 사용됩니다. 이 기사에서는 MySQL과 Python을 사용하여 간단한 온라인 설문지 시스템을 개발하는 방법을 소개하고 관련 코드 예제를 제공합니다.

1. 데이터베이스 설계

  1. 설문조사라는 이름의 데이터베이스 만들기:

    CREATE DATABASE survey;
  2. 질문 및 응답이라는 이름의 테이블 만들기:
    설문지의 질문을 저장할 질문 테이블 만들기:

    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)
    );

2. Python 코드 구현

  1. 필요한 라이브러리 가져오기:

    import mysql.connector
    from mysql.connector import Error
    from flask import Flask, request, render_template
  2. MySQL 데이터베이스에 연결:

    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
  3. Flask 애플리케이션 및 라우팅 만들기:

    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()
  4. 프런트 엔드 페이지(index.html) 만들기:

    <!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>

3. 실행 및 테스트

  1. 터미널에서 Python 코드 실행:

    python survey_app.py
  2. 브라우저에서 http://localhost:5000을 방문하세요. 설문조사 페이지를 보실 수 있습니다.

결론
이 기사에서는 MySQL과 Python을 사용하여 간단한 온라인 설문지 시스템을 개발하는 방법을 소개합니다. 데이터베이스 설계 및 관련 코드 구현을 통해 사용자의 의견, 피드백, 의견을 쉽게 수집할 수 있습니다. 프런트엔드 페이지의 디자인과 기능을 풍부하게 함으로써 설문지의 사용자 경험을 더욱 향상시킬 수 있습니다. 이 글이 독자들에게 도움이 되고 더욱 혁신적인 아이디어를 불러일으킬 수 있기를 바랍니다.

위 내용은 MySQL과 Python을 사용하여 간단한 온라인 설문지를 개발하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.