老师,你视频刚开始那个分页最后的r我要提问est = obj.get_more_by_page(2,3)是什么意思?
来源:3-4 python更新mysql数据
慕的地7209688
2018-08-29
分页的两个值,例如(0 , 10) 是不是就是前10条,(2, 10)就是从第三条开始往后抓取10条,可是这边的(2,3)是什么意思?最后输出只有一条新闻?
2回答
-
从第3条开始,取3条呀,如果不够3条了,就取剩下的呀
00 -
慕的地7209688
提问者
2018-08-29
老师,这是库的内容,我知道(2,3)是从第三条开始抓3条。就是好奇为什么这段代码输出的值却是这个数据库里的最后一条?
sql = 'SELECT * FROM `news` WHERE `types` = %s ORDER BY `created_at` DESC LIMIT %s, %s;'这行代码是不是根据type进行降序?就很疑惑降序为什么输出结果会是9?
def get_more_by_page(self,page,pagesize):
'''分页查询数据'''
offset = (page - 1) *pagesize
#准备SQL
sql = 'SELECT * FROM `news` WHERE `types` = %s ORDER BY `created_at` DESC LIMIT %s, %s;'
#找到cursor
cursor = self.conn.cursor()
#执行SQL
cursor.execute(sql,('百家', offset, pagesize))
#拿到结果
rest = [dict(zip([k[0] for k in cursor.description], row))
for row in cursor.fetchall()]
#处理数据
#关闭cursor/链接
cursor.close()
self.close_conn()
return rest
def main():
obj = MysqlSearch()
rest = obj.get_more_by_page(2,3)
for item in rest:
print(item)
print('------')
if __name__=='__main__':
main()032018-08-29
Python操作三大主流数据库-MySQL+MongoDB+Redis
2024 学习 · 376 问题
相似问题