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

บทที่ 8 ขั้นตอน การแบ่งหน้าแสดงผลบนหน้าเว็บ ด้วย Python Flask Framework

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

 

ขั้นตอนที่ 1 เริ่มจากการ import  pagination ของ flask เข้ามาไว้ในไฟล์งาน 

from flask_paginate import Pagination, get_page_args

ขั้นตอนที่ 2 สร้าง medthon เพื่อเรียกข้อมูลจากฐานข้อมูล และเพื่อสร้างฟังก์ชั่นการทำงานของ  pagination และทำการ return ค่า ไปยังหน้า showone.html

@app.route('/')
def index():
    con = p.connect(host='127.0.0.1', database='test', user='postgres', password='123456')
    cur = con.cursor()
    cur.execute('select count(*) from table_test_1')  
    total = cur.fetchone()[0]
    page, per_page, offset = get_page_args(page_parameter='page',
                                           per_page_parameter='per_page')
    sql = "SELECT * FROM table_test_1 ORDER BY id LIMIT {} OFFSET {}" \
        .format(per_page, offset)  
    sql = sql.encode('utf8')
    print(sql)
    cur.execute(sql)
    rows = cur.fetchall() 
    pagination = Pagination(page=page,
                            per_page=per_page,
                            total=total,
                            css_framework='bootstrap4')
    print(per_page)
    return render_template('showone.html', rows=rows,
                           page=page,
                           per_page=per_page,
                           pagination=pagination, )

ขั้นตอนที่ 3 สร้างฟอร์ม หน้าแสดงผล ที่หน้า showone.html method ส่งค่า rows มาที่ showsearch.html ทำการ for วนลูบ ค่า row ด้วยภาษา python

<body>
    <div class="container mt-5">

      <div class="table-responsive">
        <table class="table table-hover">
          <thead>
            <tr>

             <td align="center">รหัส</td>
            <td align="center">ชื่อ</td>
            <td align="center">นามสกุล</td>
            <td align="center">สีที่ชอบ</td>
            <td colspan="2" align="center" width="10%">เครื่องมือ</td>
            </tr>
          </thead>
          <tbody>
            {% 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 %}
          </tbody>
        </table>
      </div>
      {{ pagination.links }}
    </div>
  </body>

ผลลัพธ์หน้าแสดงผล

ทั้งหมดนี้เป็นส่วนหนึ่งของการ เขียน 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