ให้เรตสมาชิก: 5 / 5

ดาวใช้งานดาวใช้งานดาวใช้งานดาวใช้งานดาวใช้งาน
 

บทที่ 7 ขั้นตอน การค้นหาข้อมูล และแสดงข้อมูลจากฐานข้อมูลบนหน้าเว็บ ด้วย Python Flask Framework

Python (ไพธอน) สามารถค้นหาข้อมูล ด้วยคำสั่งภาษา SQL (เอส-คิว-แอล) และยังสามารถแสดงผลจาก keyword ที่เราป้อนคำค้นหาลงไปได้ โดยใช้ Flask (แฟลก) 

 

ขั้นตอนที่ 1 สร้างแบบฟอร์มสำหรับการรับค่าข้อมูล เพื่อทำการค้นหา ที่หน้า search.html

<body>
    <form action = "{{ url_for('showsearchs') }}" method = "POST">
         <table border="0" width="50"  align="center">
         <thead>
          <tr align="center"></tr>
            <td width="50%" align="center"><input type = "text" name = "search" /></td>
            <td width="50%"><input type = "submit" value = "ค้นหา" /></td>
         </thead>
         </table>
    </form>
</body>

ขั้นตอนที่ 2 ให้เราสร้างฟอร์มหน้าจอเพื่อดึงข้อมูลออกมาแสดง ที่หน้า showsearch.html
method ส่งค่า rows มาที่ showsearch.html ทำการ for วนลูบ ค่า row ด้วยภาษา python

<body>
   <table border="1" 1cellspacing="5" width="80%" height="5" align="center">
         <a href = "/">กลับหน้าหลัก</a>

      <thead>
         <td align="center">รหัส</td>
         <td align="center">ชื่อ</td>
         <td align="center">นามสกุล</td>
         <td align="center">สีที่ชอบ</td>
         <td colspan="2" align="center" width="10%">เครื่องมือ</td>
      </thead>

      {% for row in rows %}
         <tr>
            <td >{{ row[0] }}</td>
            <td>{{ row[1] }}</td>
            <td>{{ row[2] }}</td>
            <td>{{ row[3] }}</td>
            <td>  <form action="/iddel/{{ row[0] }}" method="post"> <input type="submit" value="ลบข้อมูล" /> </form></td>
             <td><form action="/enteredit/{{ row[0] }}" method="post"> <input type="submit" value="แก้ไข" /> </form></td>
         </tr>
      {% endfor %}

   </table>
</body>

ขั้นตอนที่ 3 สร้าง method การรับค่าจากฟอร์ม แล้วใช้คำสั่งภาษา SQL ในการค้นหาข้อมูล หลังจากนั้นเก็บไว้ในตัวแปร rows และทำการ

@app.route('/showsearchs' , methods=['POST', 'GET'])
def showsearchs():
    if request.method == 'POST':
        key = request.form['search']
        try:
            con = p.connect(host='127.0.0.1', database='test',user='postgres',password='123456')
            cur = con.cursor()
            sql = "SELECT * FROM table_test_1 WHERE favorite_color = '%s' OR name_first= '%s' OR name_last= '%s'" % (key,key,key)
            sql = sql.encode('utf-8')
            try:
                cur.execute(sql)
                rows = cur.fetchall()
                return render_template("showsearch.html", rows=rows)
            except:
                con.rollback()
                print('ผิดพลาด')
        except p.DatabaseError:
            print('Error %s' % p.DatabaseError)


ภาพตัวอย่างจากการรันโปรแกรม


ผลลัพธ์

ข้อมูลทั้งหมดนี้เป็นส่วนหนึ่งของการ เขียน Python ที่มีการเชื่อมต่อกับฐานข้อมูล บทเรียนที่ท่านได้ศึกษามา หวังว่าจะเป็นประโยชน์ไม่มากก็น้อย 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
เจอปัญหา Forbidden You don't have permission to access /index.php on this server. Additionally, a 403 Forbidden error
โดย mindphp อ 22 ก.ย. 2020 12:58 am บอร์ด Programming - PHP
1
18
อ 22 ก.ย. 2020 7:44 pm โดย mindphp
มาแล้ว!!! MDSMS component สำหรับส่งข้อความผ่านทาง SMS บน Joomla
โดย bolue จ 21 ก.ย. 2020 5:17 pm บอร์ด MindPHP News & Feedback
0
15
จ 21 ก.ย. 2020 5:17 pm โดย bolue
สอบถามเรื่องการอ่านค่าสีสถานะของปุ่ม
โดย blebee90 จ 21 ก.ย. 2020 2:03 pm บอร์ด Programming - C/C++ & java & Python
1
20
จ 21 ก.ย. 2020 3:10 pm โดย mindphp
อัพเดดความคืบหน้า / Progress - พรีโม เทรดดิ้ง
โดย mindphp จ 21 ก.ย. 2020 11:45 am บอร์ด พรีโม เทรดดิ้ง (Main)
1
8
อ 22 ก.ย. 2020 7:55 pm โดย thatsawan
ต้องการกำหนดรุปแบบของช่องกรอกให้เป็นเเพทเทิร์นของเบอร์โทร เเต่ไม่ต้องการให้กรอกตัวหนังสือ
โดย thatsawan พฤ 17 ก.ย. 2020 3:18 pm บอร์ด JavaScript & Jquery Ajax
4
68
ศ 18 ก.ย. 2020 1:44 pm โดย mindphp
สถานที่จัดงานแต่งงานชิคๆ แบบไม่ง้อโรงแรม
โดย Anonymous พฤ 17 ก.ย. 2020 2:10 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
39
พฤ 17 ก.ย. 2020 2:10 pm โดย บุคคลทั่วไป
วิธีแก้ ean13 ปัญหาที่เจอคืออะไร แก้ยังไง
โดย bolue พ 16 ก.ย. 2020 6:38 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
38
พ 16 ก.ย. 2020 6:38 pm โดย bolue
สอบวิธีการ check user ว่าเราใช้ user ไหนอยู่ตอนนี้ ได้มั้ยครับ ใน command บน Ubuntu
โดย jirawoot พ 16 ก.ย. 2020 11:25 am บอร์ด Programming - C/C++ & java & Python
3
70
พ 16 ก.ย. 2020 11:52 am โดย mindphp
หน้าเว็บ phpBB เจอปัญหาโหลด 404 บ้างครั้งไม่รู้ว่าเป็นเพราะอะไรได้บ้าง
โดย thatsawan พ 16 ก.ย. 2020 11:17 am บอร์ด Programming - PHP
5
64
อ 22 ก.ย. 2020 1:00 am โดย mindphp
phpBB เป็นโปรแกรมประเภทไหนมาดูกัน
โดย Udomsak2539 อ 15 ก.ย. 2020 6:25 pm บอร์ด phpBB user Guide Knowledge
0
49
อ 15 ก.ย. 2020 6:25 pm โดย Udomsak2539
รวบรวมข้อมูลเบื้องต้น phpBB คืออะไร ฟีเจอร์ และประวัติ
โดย fhakun อ 15 ก.ย. 2020 6:14 pm บอร์ด PHP Knowledge
0
50
อ 15 ก.ย. 2020 6:14 pm โดย fhakun
สอบถาม วิธีเปิดแจ้งเตือน skype ค่ะ
โดย fhakun อ 15 ก.ย. 2020 6:07 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
61
อ 15 ก.ย. 2020 6:07 pm โดย fhakun
ฟีเจอร์พื้นฐานของ phpBB
โดย fhakun อ 15 ก.ย. 2020 5:33 pm บอร์ด PHP Knowledge
0
54
อ 15 ก.ย. 2020 5:33 pm โดย fhakun
สอบถาม วิธีแทรกลิ้งค์ให้ข้อความค่ะ
โดย fhakun อ 15 ก.ย. 2020 4:42 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
5
117
อ 15 ก.ย. 2020 5:05 pm โดย fhakun
สอบถาม วิธีติดตั้ง kazaam ใน ubantu ค่ะ
โดย fhakun อ 15 ก.ย. 2020 3:26 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
7
87
อ 15 ก.ย. 2020 4:38 pm โดย mindphp
ไม่ทราบว่า viewtopic ทำยังไง
โดย Udomsak2539 จ 14 ก.ย. 2020 6:47 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
2
54
อ 15 ก.ย. 2020 10:06 am โดย Udomsak2539
แนะนำโปรแกรม ibis paint และเครื่องมือตัดต่อง่ายๆใน 1 นาที สำหรับมือใหม่
โดย fhakun จ 14 ก.ย. 2020 6:45 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
58
จ 14 ก.ย. 2020 6:45 pm โดย fhakun
รวมวิธี การเดินจาก สงขลา มา กทม.
โดย Udomsak2539 จ 14 ก.ย. 2020 5:10 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
77
อ 15 ก.ย. 2020 12:14 pm โดย mindphp
ความแตกต่างระหว่างภาษาอังกฤษและภาษาฝรั่งเศส
โดย fhakun จ 14 ก.ย. 2020 5:03 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
39
จ 14 ก.ย. 2020 5:03 pm โดย fhakun
วิธีเดินทางจากเมืองทองมาเกษตร
โดย fhakun จ 14 ก.ย. 2020 3:03 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
56
จ 14 ก.ย. 2020 3:03 pm โดย fhakun