โดย chatee supasand » 05/07/2019 11:34 am
การทำหน้าในส่วนของการแบ่งหน้าตารางนั้นสามารถทำได้เหมือนกันในภาษา
Pythonซึ่งตัวของภาษาไพทอนเอง ก็มี ตัวของ
flask ที่เป็นเฟรมเวิร์ค
ที่เขียนขึ้นมาใช้งาน สำหรับภาษาไพทอน ในที่นี้เราจะใช้งานในส่วนของ flask paginate เพื่อใช้ในการสร้าง
Pagination ให้กับตาราง ข้อมูลของเรา
ที่เราต้องการจะแสดง
โค้ด: เลือกทั้งหมด
from flask_paginate import Pagination, get_page_args
จะมีตัวอย่างดังนี้
โค้ด: เลือกทั้งหมด
from flask_paginate import Pagination, get_page_args #เลือกใช้คำสั่ง
app = Flask(__name__)
app.config.from_pyfile('app.cfg')#ไฟล์ confic ตั้งจำนวนที่จะให้แสดงจำนวนในแถว
@app.route('/show') #กำหนด หน้า path
def show(): #def เป็นคำสำคัญสำหรับการสร้างฟังก์ชัน
cur.execute('select count(*) from genpdf') #เรียกข้อมูลจากตาราง
total = cur.fetchone()[0]
page, per_page, offset = get_page_args(page_parameter='page',
per_page_parameter='per_page')
sql = "SELECT * FROM genpdf ORDER BY fileid LIMIT {} OFFSET {}" \
.format(per_page, offset) #แสดงตารางโดยใช้ Limit ในการกำหนดค่า
sql = sql.decode('utf8')
print(sql)
cur.execute(sql)
rows = cur.fetchall() # ทำการเลือกข้อมูลทั้งหมด
pagination = get_pagination(page=page,
per_page=per_page,
total=total,
record_name='users',
format_total=True,
format_number=True,
)
return render_template('show.html', rows=rows,
page=page,
per_page=per_page,
pagination=pagination, ) # เรนเดอร์ไฟล์ที่ชื่อ show ที่อยู่ในไดเร้กทอรี่ที่ชื่อ templates
def get_css_framework():
return current_app.config.get('CSS_FRAMEWORK', 'bootstrap4')
def get_link_size():
return current_app.config.get('LINK_SIZE', 'sm')
def get_alignment():
return current_app.config.get('LINK_ALIGNMENT', '')
def show_single_page_or_not():
return current_app.config.get('SHOW_SINGLE_PAGE', False)
def get_pagination(**kwargs):
kwargs.setdefault('record_name', 'records')
return Pagination(css_framework=get_css_framework(),
link_size=get_link_size(),
alignment=get_alignment(),
show_single_page=show_single_page_or_not(),
**kwargs
)
show.html
โค้ด: เลือกทั้งหมด
{{ pagination.links }} <!--แสดงตัวของ pagination -->
<!-- วนลูปเพื่อดึงข้อมูลมาแสดง -->
{% for row in rows %}
<tr>
<td align="center">{{ row[0] }}</td>
<td align="center">{{ row[1] }}</td>
<td align="center">{{ row[2] }}</td>
<td align="center">{{ row[3] }}</td>
<td align="center">{{ row[4] }}</td>
<!-- สร้างปุ่มเพื่อทำการลบ-->
</tr>
{% endfor %} <!-- ปิดลูป-->
{{ pagination.links }}
อ้างอิง
https://www.mindphp.com/คู่มือ/73-คืออะ ... ออะไร.html
viewtopic.php?f=72&t=54216
viewforum.php?f=29
การทำหน้าในส่วนของการแบ่งหน้าตารางนั้นสามารถทำได้เหมือนกันในภาษา [url=https://www.mindphp.com/%E0%B8%84%E0%B8%B9%E0%B9%88%E0%B8%A1%E0%B8%B7%E0%B8%AD/73-%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3/2417-python-%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3.html]Python[/url]ซึ่งตัวของภาษาไพทอนเอง ก็มี ตัวของ [url=https://www.mindphp.com/%E0%B8%9A%E0%B8%97%E0%B9%80%E0%B8%A3%E0%B8%B5%E0%B8%A2%E0%B8%99%E0%B8%AD%E0%B8%AD%E0%B8%99%E0%B9%84%E0%B8%A5%E0%B8%99%E0%B9%8C/python-framework-flask/6442-flask-framework-html-css-python.html]flask[/url] ที่เป็นเฟรมเวิร์ค
ที่เขียนขึ้นมาใช้งาน สำหรับภาษาไพทอน ในที่นี้เราจะใช้งานในส่วนของ flask paginate เพื่อใช้ในการสร้าง [url=https://www.mindphp.com/forums/viewtopic.php?f=72&t=54216]Pagination[/url] ให้กับตาราง ข้อมูลของเรา
ที่เราต้องการจะแสดง
[code]
from flask_paginate import Pagination, get_page_args
[/code]
จะมีตัวอย่างดังนี้
[code]
from flask_paginate import Pagination, get_page_args #เลือกใช้คำสั่ง
app = Flask(__name__)
app.config.from_pyfile('app.cfg')#ไฟล์ confic ตั้งจำนวนที่จะให้แสดงจำนวนในแถว
@app.route('/show') #กำหนด หน้า path
def show(): #def เป็นคำสำคัญสำหรับการสร้างฟังก์ชัน
cur.execute('select count(*) from genpdf') #เรียกข้อมูลจากตาราง
total = cur.fetchone()[0]
page, per_page, offset = get_page_args(page_parameter='page',
per_page_parameter='per_page')
sql = "SELECT * FROM genpdf ORDER BY fileid LIMIT {} OFFSET {}" \
.format(per_page, offset) #แสดงตารางโดยใช้ Limit ในการกำหนดค่า
sql = sql.decode('utf8')
print(sql)
cur.execute(sql)
rows = cur.fetchall() # ทำการเลือกข้อมูลทั้งหมด
pagination = get_pagination(page=page,
per_page=per_page,
total=total,
record_name='users',
format_total=True,
format_number=True,
)
return render_template('show.html', rows=rows,
page=page,
per_page=per_page,
pagination=pagination, ) # เรนเดอร์ไฟล์ที่ชื่อ show ที่อยู่ในไดเร้กทอรี่ที่ชื่อ templates
def get_css_framework():
return current_app.config.get('CSS_FRAMEWORK', 'bootstrap4')
def get_link_size():
return current_app.config.get('LINK_SIZE', 'sm')
def get_alignment():
return current_app.config.get('LINK_ALIGNMENT', '')
def show_single_page_or_not():
return current_app.config.get('SHOW_SINGLE_PAGE', False)
def get_pagination(**kwargs):
kwargs.setdefault('record_name', 'records')
return Pagination(css_framework=get_css_framework(),
link_size=get_link_size(),
alignment=get_alignment(),
show_single_page=show_single_page_or_not(),
**kwargs
)
[/code]
show.html
[code]
{{ pagination.links }} <!--แสดงตัวของ pagination -->
<!-- วนลูปเพื่อดึงข้อมูลมาแสดง -->
{% for row in rows %}
<tr>
<td align="center">{{ row[0] }}</td>
<td align="center">{{ row[1] }}</td>
<td align="center">{{ row[2] }}</td>
<td align="center">{{ row[3] }}</td>
<td align="center">{{ row[4] }}</td>
<!-- สร้างปุ่มเพื่อทำการลบ-->
</tr>
{% endfor %} <!-- ปิดลูป-->
{{ pagination.links }}
[/code]
อ้างอิง
[url]https://www.mindphp.com/คู่มือ/73-คืออะไร/2417-python-คืออะไร.html[/url]
[url]https://www.mindphp.com/forums/viewtopic.php?f=72&t=54216[/url]
https://www.mindphp.com/forums/viewforum.php?f=29