วิธีการ ค้นหาแบบช่วงวันที่ โดย Python

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: วิธีการ ค้นหาแบบช่วงวันที่ โดย Python

วิธีการ ค้นหาแบบช่วงวันที่ โดย Python

โดย MBMoo » 05/06/2020 11:25 am

วิธีการ ค้นหาแบบช่วงวันที่ โดย Python ซึ่งจะใช้คู่กับ Flask เมื่อค้นหาโดยปกติแล้ว Data Type ประเภท date แสดงผลออกมาในรูป แบบที่ประกอบไปด้วย วันที่ และ เวลา ซึ่งได้ทำการแชร์ผ่านกระทู้ วิธีการ โชว์ข้อมูลด้วยการ Format วันที่ โดย Python และวันนี้เราจะมาแชร์ความรู้เกี่ยวกับการค้นหาแบบช่วงวันที่

อันนี้เป็นภาพรวมของ code ทั้งหมดนะคะ

โค้ด: เลือกทั้งหมด

@app.route('/path/<datestart>/<dateend>', methods=['GET'])
@connect_sql()
def function_name(cursor, datestart, dateend):
    sql = """SELECT  DATE_FORMAT(date,%s)as date FROM table WHERE date BETWEEN %s AND %s  """ 
    cursor.execute(sql,('%Y-%m-%d', start, end))
    columns = [column[0] for column in cursor.description]
    result = toJson(cursor.fetchall(), columns)
    if result:
        return jsonify(result)
    else:
        return jsonify(None)
อันนี้เป็นการอธิบายแยกย่อยนะคะ

โค้ด: เลือกทั้งหมด


@app.route('/path/<datestart>/<dateend>', methods=['GET'])
@connect_sql()
def function_name(cursor, datestart, dateend):
โดยเริ่มจากตั้งชื่อ path ค่ะ ตั้งตัวแปลที่จะทำการเก็บค่าที่รับมาจาก Frontend โดยจะเก็บเปนสองตัวคือ วันเริ่มที่จะค้นหา กับวันสุดท้ายที่จะค้นหา methods ใช้เป็น GET นะคะ แล้วก็ตั้งชื่อ function

โค้ด: เลือกทั้งหมด

    sql = """SELECT DATE_FORMAT(date,%s)as date FROM table WHERE date BETWEEN %s AND %s  """ 
    cursor.execute(sql,('%Y-%m-%d',  datestart,  dateend))
ต่อมาจะเป็นคำสั่ง sql โดยเราจะทำการ format วันที่ ให้แสดงออกมาตรงตามรูปแบบที่เราต้องการ และค้นหา ระหว่าง วันที่เริ่มต้น และ วันที่สิ้นสุด

โค้ด: เลือกทั้งหมด

    columns = [column[0] for column in cursor.description]
    result = toJson(cursor.fetchall(), columns)
result จะทำการเก็บผลรับ

โค้ด: เลือกทั้งหมด

    if result:
        return jsonify(result)
    else:
        return jsonify(None)
ถ้ามีข้อมูลก็ให้ส่งข้อมูลผ่าน json เลยค่ะ

ผลลัพธ์ :
Python Knowledge-1.png
Python Knowledge-1.png (170.75 KiB) Viewed 733 times
ใส่วันที่แล้วกดค้นหา

Python Knowledge-2.png
Python Knowledge-2.png (160.93 KiB) Viewed 733 times


สามารถเรียนรู้เรื่องอื่นๆ เพิ่มเติมได้ที่
วิธีการ ลงเวลา โดย Python viewtopic.php?f=144&t=67890&p=189959#p189959
วิธีการ โชว์ข้อมูลด้วยการ Format วันที่ โดย Python viewtopic.php?f=144&t=67888
วิธีการ Search database แบบพื้นฐานๆ โดย Python viewtopic.php?f=144&t=67885&p=189951#p189951
วิธีการ แสดงผลข้อมูล จากน้อยไปมาก มากไปน้อย โดย Python viewtopic.php?f=144&t=67906

ข้างบน