บทที่ 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)
ภาพตัวอย่างจากการรันโปรแกรมคลิกที่ปุ่มแก้ไข
ทำการแก้ไขข้อมูล
ผลลัพธ์ข้อมูลใหม่
ทั้งหมดนี้เป็นส่วนหนึ่งของการ เขียน Python ที่มีการเชื่อมต่อกับฐานข้อมูล บทเรียนที่ท่านได้ศึกษามา หวังว่าจะเป็นประโยชน์ไม่มากก็น้อย
- หัวเรื่อง
- บทเรียน Python Framework Flask Form
- หมวดหมู่
- Python Framework Flask, Python Framework Flask
- ฮิต
- 39486
- ผู้สร้างเอกสาร
- ae
- วันที่สร้างเอกสาร
- 2017-06-27 18:40:26