ให้เรตสมาชิก: 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
ฮิต
8458
ผู้สร้างเอกสาร
ae
วันที่สร้างเอกสาร
2017-06-27 18:40:26

python_flask_form.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 8.28 KB

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

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


กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
งานประจำวันที่ 15 พฤศจิกายน 2561
โดย nice_13 พฤ 15 พ.ย. 2018 9:37 am บอร์ด M071 - พิชญ์สินี คงจร
1
2
พฤ 15 พ.ย. 2018 9:01 pm โดย nice_13
Q - วิธีการแปลง รูปภาพ วิดีโอ หรือ ลิ้งค์ จาก youtube ให้เป็น BBcode ใน phpbb
โดย Ittichai_chupol พฤ 15 พ.ย. 2018 6:46 pm บอร์ด Programming - PHP
0
11
พฤ 15 พ.ย. 2018 6:46 pm โดย Ittichai_chupol
Q - วิธีการสร้าง ส่วนแสดง ผลลัพธ์ ของ extension ในรูปแบบ event บน phpbb
โดย Ittichai_chupol พฤ 15 พ.ย. 2018 6:31 pm บอร์ด Programming - PHP
0
9
พฤ 15 พ.ย. 2018 6:31 pm โดย Ittichai_chupol
ดาวน์โหลด mp3 mp4 จาก Youtube ง่ายๆ
โดย Aussadawut พฤ 15 พ.ย. 2018 6:01 pm บอร์ด Share Knowledge
0
8
พฤ 15 พ.ย. 2018 6:01 pm โดย Aussadawut
การออกแบบ poster , point , facebook cover , resume ผ่านเว็บ Canva
โดย Aussadawut พฤ 15 พ.ย. 2018 5:48 pm บอร์ด Share Knowledge
0
9
พฤ 15 พ.ย. 2018 5:48 pm โดย Aussadawut
เขียนภาษา C รัน ภาษาซี บน ubuntu
โดย Aussadawut พฤ 15 พ.ย. 2018 5:19 pm บอร์ด Share Knowledge
0
15
พฤ 15 พ.ย. 2018 5:19 pm โดย Aussadawut
list หัวข้อเเชร์ความรู้ ที่เรียนมา
โดย ธวัชชัย แสนหาญ พฤ 15 พ.ย. 2018 5:00 pm บอร์ด MT27 - ธวัชชัย แสนหาญ
0
7
พฤ 15 พ.ย. 2018 5:00 pm โดย ธวัชชัย แสนหาญ
PHP เมื่อไหร่ควรใช้ GET เมื่อไหร่ควรใช้ POST
โดย Aussadawut พฤ 15 พ.ย. 2018 4:45 pm บอร์ด PHP Knowledge
0
6
พฤ 15 พ.ย. 2018 4:45 pm โดย Aussadawut
ภาษา C# กับการพัฒนาโปรแกรมแบบ OOP
โดย จันนุสรณ์ ดีแก่ พฤ 15 พ.ย. 2018 4:38 pm บอร์ด Share Knowledge
0
20
พฤ 15 พ.ย. 2018 4:38 pm โดย จันนุสรณ์ ดีแก่
บทความที่จะแชร์
โดย Aussadawut พฤ 15 พ.ย. 2018 4:37 pm บอร์ด M072 - อัษฎาวุฒิ ยิ่งนคร
0
25
พฤ 15 พ.ย. 2018 4:37 pm โดย Aussadawut
PHP การ รับ ข้อมูล ผ่าน GET และ POST
โดย Aussadawut พฤ 15 พ.ย. 2018 4:28 pm บอร์ด PHP Knowledge
0
11
พฤ 15 พ.ย. 2018 4:28 pm โดย Aussadawut
PHP การ ส่ง ข้อมูล ผ่าน GET และ POST
โดย Aussadawut พฤ 15 พ.ย. 2018 4:05 pm บอร์ด PHP Knowledge
0
14
พฤ 15 พ.ย. 2018 4:05 pm โดย Aussadawut
วิธีการเดินจากนครศรีธรรมราช มา กทม.
โดย Aussadawut พฤ 15 พ.ย. 2018 1:38 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
32
พฤ 15 พ.ย. 2018 1:38 pm โดย Aussadawut
วิธีการเดินจากบ้านมา กทม. ซื้อตั๋วรถไฟที่สถานีรถไฟนครศรีธรรมราช ราคา 400-600 บาท เป็นตั๋วรถไฟชั้น 2 พัดลม
โดย Anonymous พฤ 15 พ.ย. 2018 1:36 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
3
พฤ 15 พ.ย. 2018 1:36 pm โดย บุคคลทั่วไป
วิธีการเดินจากบ้าน จังหวัด นครปฐม มากทม.
โดย จันนุสรณ์ ดีแก่ พฤ 15 พ.ย. 2018 1:36 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
23
พฤ 15 พ.ย. 2018 1:36 pm โดย จันนุสรณ์ ดีแก่
วิธีการเดินจากบ้านมากทม.
โดย ธวัชชัย แสนหาญ พฤ 15 พ.ย. 2018 1:35 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
19
พฤ 15 พ.ย. 2018 1:35 pm โดย ธวัชชัย แสนหาญ
B - Print Invoice 2 Advance Payment ไม่ได้ [2018-11][002]
โดย Parichat พฤ 15 พ.ย. 2018 11:57 am บอร์ด PP systems - Tester
0
4
พฤ 15 พ.ย. 2018 11:57 am โดย Parichat
งานประจำวันที่ 15 พฤษจิกายน 2561
โดย Ittichai_chupol พฤ 15 พ.ย. 2018 11:46 am บอร์ด M070 - อิทธิชัย ชูผล
1
5
พฤ 15 พ.ย. 2018 7:18 pm โดย Ittichai_chupol
งานประจำวันที่ 15 พฤศจิกายน 2561
โดย Aussadawut พฤ 15 พ.ย. 2018 10:56 am บอร์ด M072 - อัษฎาวุฒิ ยิ่งนคร
3
13
พฤ 15 พ.ย. 2018 7:33 pm โดย Aussadawut
งานประจำวันที่ 15 พฤศจิกายน 2061
โดย ธวัชชัย แสนหาญ พฤ 15 พ.ย. 2018 10:56 am บอร์ด MT27 - ธวัชชัย แสนหาญ
1
12
พฤ 15 พ.ย. 2018 11:22 am โดย ธวัชชัย แสนหาญ