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

ดาวใช้งานดาวใช้งานดาวใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

บทที่ 6 ขั้นตอน การแก้ไขข้อมูลที่อยู่ใน sql แก้ไขจากหน้า ฟอร์ม

เราสามารถใช้ python (ไพธอน)  ในการดึงข้อมูลมาแสดงในรูแแบบฟอร์มได้ แล้วทำการแก้ไขข้อมูลจากฐานข้อมูล โดยใช้ Flask (แฟลก) โค๊ด SQL (เอส-คิว-แอล) ของ python ที่ใช้ก็ไม่ต่างจากภาษาอืนเลย ใช้เหมือนกัน ใช้งานง่าย

หลักการทำงานก็เหมือนกับการลบข้อมูล แต่จะมีการดึงข้อมูลมาแสดง เหมือนเอา การลบข้อมูลการแสดงข้อมูลมารวมกัน

ขั้นตอนที่1 ให้ทำการสร้างฟอร์มแก้ไข เพื่อใช้ในการแสดงข้อมูลเดิมและทำการแก้ไข

<body>
  {% for row in rows %}

      <form action = "/edit/{{ row[0] }}" method = "POST">
          <table border="0" width="50"  align="center">
         <thead>
          <tr align="center"></tr>
            <td width="50%" align="center"><h1>แก้ไขข้อมูล</h1></td>
            <tr align="center"></tr>
            <td width="50%">ชื่อ <input type="text" name="name_first"  value="{{ row[1] }}"/></td>
            <tr align="center"></tr>
              <td width="50%">นามสกุล<input type="text" name="name_last"  value="{{ row[2] }}"/></td>
            <tr align="center"></tr>
              <td width="50%">สีที่ชอบ<input type="text" name= "favorite_color"  value="{{ row[3] }}"/></td>
            <tr align="center"></tr>
         <td width="50%"><input type="submit" value="บันทึก" /></td>
         </thead>
          </table>
      </form>

  <h3><a href = "\">กลับหน้าหลัก</a></h3>
 {% endfor %}
   </body>

ขั้นตอนที่2 สร้าง mettho edit เป็น metthon edit ไว้แก้ไข และ enteredit ใช้ในการแสดงข้อมูลเก่า 

ส่วนที่1 metthon edit

@app.route('/edit/<postID>', methods=['POST', 'GET'])
def edit(postID):
    request.method == 'POST'
    idd = postID
    name = request.form['name_first']
    lastname = request.form['name_last']
    color = request.form['favorite_color']
    print idd
    try:
            con = p.connect(host='127.0.0.1', database='test', user='testerp', password='test123')
            cur = con.cursor()

            sql = "update test_python set name_first= '%s', name_last= '%s' , favorite_color= '%s' WHERE id = '%s' " % (name, lastname, color, idd)
            sql = sql.encode('utf-8')
            try:
                cur.execute(sql)
                con.commit()
                print ('เแก้ไขอมูล เรียบร้อยแล้ว')
                return ' ID: %s' % idd + '<br>'\
                       +'Edit Name: %s' % name + '<br>' \
                       + 'Edit Lastname: %s' % lastname + '<br>' \
                       + 'Edit Color: %s' % color + '<br>'+ '<META HTTP-EQUIV="Refresh" CONTENT="3;http://127.0.0.1:5000/list">'
            except:
                con.rollback()
                print('แก้ไขข้อมูล ผิดพลาด')
    except p.DatabaseError:
             print ('Error %s' % p.DatabaseError)

ส่วนที่2 enteredit

@app.route('/enteredit/<postID>', methods=['POST', 'GET'])
def enteredit(postID):
    idd = postID
    con = p.connect(host='127.0.0.1', database='test', user='testerp', password='test123')
    cur = con.cursor()
    cur.execute('SELECT version()')
    sql = "SELECT * FROM test_python  WHERE id = '%s'" % idd
    sql = sql.encode('utf-8')
    cur.execute(sql)
    rows = cur.fetchall()
    return render_template("edituser.html", rows=rows)

ภาพตัวอย่างจากการรันโปรแกรมคลิกที่ปุ่มแก้ไข

list ฟอร์ม Show
list ฟอร์ม Show

ทำการแก้ไขข้อมูล

ฟอร์มแก้ไขข้อมูล ที่ยังไม่ถูกแก้ไข
ฟอร์มแก้ไขข้อมูล ที่ยังไม่ถูกแก้ไข
ฟอร์มแก้ไขข้อมูล ถูกแก้ไข
ฟอร์มแก้ไขข้อมูล ถูกแก้ไข

ผลลัพธ์ข้อมูลใหม่

ผลลัพธ์ข้อมูลใหม่
ผลลัพธ์ข้อมูลใหม่

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

หัวเรื่อง
บทเรียน Python Framework Flask Form
หมวดหมู่
Python Framework Flask, Python Framework Flask
ฮิต
13650
ผู้สร้างเอกสาร
ae
วันที่สร้างเอกสาร
2017-06-27 18:40:26

python_flask_form.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 8.28 KB

ผู้อัพโหลดไฟล์ ae

วันที่อัพโหลด 2017-06-27 11:26:29


กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
อยากทราบวิธีสร้างเว็บหน้าเดียวแบบกรอกข้อมูลเสร็จแล้วประมวลผล
โดย phongkhukhan ส 28 มี.ค. 2020 1:00 am บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
2
94
ส 28 มี.ค. 2020 1:09 am โดย mindphp
แสดงสินค้าที่อยากได้ใน Wishlist ด้วย Module Wishlist
โดย prmindphp ศ 27 มี.ค. 2020 5:26 pm บอร์ด MindPHP News & Feedback
0
18
ศ 27 มี.ค. 2020 5:26 pm โดย prmindphp
B - package member หน้า Migrate ข้อมูลบัตรประชนซ้ำได้ ต้องทำไม่ได้เเละเก็บ logs ด้วย
โดย thatsawan ศ 27 มี.ค. 2020 4:25 pm บอร์ด ThaiVI (Main)
0
1
ศ 27 มี.ค. 2020 4:25 pm โดย thatsawan
ต้องการสร้าง subtype
โดย blackbullx16 ศ 27 มี.ค. 2020 4:15 pm บอร์ด SQL - Database
0
82
ศ 27 มี.ค. 2020 4:15 pm โดย blackbullx16
อยากทราบวิธีการใช้งาน อีเวน cron ว่ามีการใช้งานอย่างไครับ
โดย Ittichai_chupol ศ 27 มี.ค. 2020 11:10 am บอร์ด Programming - PHP
1
26
ส 28 มี.ค. 2020 11:42 am โดย mindphp
อยากทราบวิธีการแก้ไขการแปลงปีวันที่ใน phpbb ผิด เมื่อกรอกวันที่ 29/02
โดย Ittichai_chupol ศ 27 มี.ค. 2020 10:42 am บอร์ด Programming - PHP
1
16
ส 28 มี.ค. 2020 11:41 am โดย mindphp
อยากทราบวิธีการจะสร้างการทำงานสำหรับการแจ้งเตือนของ Extension ในอีเวน cron
โดย Ittichai_chupol พฤ 26 มี.ค. 2020 10:34 am บอร์ด PHP Knowledge
2
113
พฤ 26 มี.ค. 2020 2:34 pm โดย LEG
แสดงสินค้าขายดีในร้านค้าออนไลน์ด้วย Module MZC Bestseller
โดย prmindphp พ 25 มี.ค. 2020 5:42 pm บอร์ด MindPHP News & Feedback
0
43
พ 25 มี.ค. 2020 5:42 pm โดย prmindphp
อยากทราบวิธีการที่จะสามารถปิดการแสดงของ modules ใน ucp โดยไม่ต้องเข้าไปจัดการในระบบ
โดย Ittichai_chupol พ 25 มี.ค. 2020 1:04 pm บอร์ด Programming - PHP
1
35
พ 25 มี.ค. 2020 1:05 pm โดย Ittichai_chupol
วิธีการสมัครเข้าใช้งาน Skype สำหรับใช้งาน VDO video conference ในมือถือ
โดย numtan5839 พ 25 มี.ค. 2020 11:26 am บอร์ด Microsoft Office Knowledge & line & Etc
1
137
พฤ 26 มี.ค. 2020 2:34 pm โดย LEG
อยากท่องเที่ยวใหว้พระอุดรกับรถเช่าอุดร แนะนำ
โดย udon999 อ 24 มี.ค. 2020 10:49 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
37
อ 24 มี.ค. 2020 10:49 pm โดย udon999
อยากเที่ยวอุดร ลองเช่ารถอุดร ท่องเที่ยวใหว้พระเชิญทางนี้
โดย udon999 อ 24 มี.ค. 2020 9:57 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
31
อ 24 มี.ค. 2020 9:57 pm โดย udon999
แสดงหมวดหมู่สินค้าให้กับร้านค้าออนไลน์ด้วย Module Category
โดย prmindphp อ 24 มี.ค. 2020 5:57 pm บอร์ด MindPHP News & Feedback
0
34
อ 24 มี.ค. 2020 5:57 pm โดย prmindphp
3 การขนส่งสินค้าที่แปลกที่สุดในโลก
โดย ngongsus อ 24 มี.ค. 2020 12:58 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
38
อ 24 มี.ค. 2020 12:58 pm โดย ngongsus
ตะกร้าสินค้าที่บอกรายละเอียดได้มากกว่าแค่ราคาสินค้า Module MooZiiCart - Cart Ext
โดย prmindphp จ 23 มี.ค. 2020 6:21 pm บอร์ด MindPHP News & Feedback
0
68
จ 23 มี.ค. 2020 6:21 pm โดย prmindphp
3 ข้อเท็จจริงอันน่าสนใจเกี่ยวกับไวรัสโคโรนา 2019 (COVID-19)
โดย nemo413 จ 23 มี.ค. 2020 6:05 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
60
จ 23 มี.ค. 2020 6:05 pm โดย nemo413
อยาทราบวิธีการสร้างลิ้งค์ ไปยัง จากส่วนการแจ้งเตือน ไป ยัง Extension ที่อยู่ในส่วนของ ucp
โดย Ittichai_chupol จ 23 มี.ค. 2020 4:28 pm บอร์ด Programming - PHP
1
205
จ 23 มี.ค. 2020 5:01 pm โดย mindphp
วางแผนค่าลดหย่อนภาษีอย่างไรให้ได้ประโยชน์ระยะยาว
โดย medalezga จ 23 มี.ค. 2020 12:09 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
39
จ 23 มี.ค. 2020 2:19 pm โดย kreemza123
ประกันสังคมปรับลดอัตราส่งเงิน 4% นาน 6 เดือน เพื่อบรรเทาผลกระทบการแพร่ระบาดโรคไวรัส COVID-19
โดย thatsawan อ 22 มี.ค. 2020 1:48 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
185
อ 22 มี.ค. 2020 1:48 pm โดย thatsawan
แนะนำสินค้าใหม่ในร้านค้าออนไลน์ของคุณให้น่าสนใจมากขึ้นด้วย Latest Products
โดย prmindphp ศ 20 มี.ค. 2020 5:27 pm บอร์ด MindPHP News & Feedback
0
239
ศ 20 มี.ค. 2020 5:27 pm โดย prmindphp