吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1288|回复: 11
收起左侧

[已解决] 紧急求助SQLite分页问题

[复制链接]
zoenbo 发表于 2020-11-3 08:07
本帖最后由 zoenbo 于 2020-11-3 11:16 编辑

众大佬帮我看看SQLite怎么分页吧!参考了无数MYSQL的分页方法始终失败,弄了整整一天没任何结果,现在只能是出所有结果... 在线等...
[PHP] 纯文本查看 复制代码
<?php
try {
    $sqlite = new PDO("sqlite:test.db");
    $sqlite->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
    die($e);
}
    $sth = $sqlite->prepare('SELECT *
        FROM dict');
    $sth->execute();
    $result = $sth->fetchAll();
?>
 
<html>
<head>
    <title>DICTIONARY</title>
    <meta charset="utf-8">
    <meta name='viewport' content='width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no'>
</head>
<body>
    <h1>词语查询</h1>
    <p>
        <span>查询内容:</span>
        <input id="box" type="text" placeholder="请输入要查询的内容">
    </p>
    <p>
        <button>查询</button>
    </p>
    <?php
    foreach($result as $row) echo '<div class="jieguo">
<strong>词语:</strong><span>'.$row['word'].'</span>
<strong>发音:</strong><span>'.$row['fayin'].'</span>
<strong>释义:</strong><span>'.$row['shiyi'].'</span>
<strong>出处:</strong><span>'.$row['chuchu'].'</span>
</div><br />';?>
<a href="">上一页</a> <a href="">下一页</a> 总结果?条 
</body>
</html>

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

zfzhhh 发表于 2020-11-3 10:04
本帖最后由 zfzhhh 于 2020-11-3 10:58 编辑

[PHP] 纯文本查看 复制代码
<?php
error_reporting(0);
///获取页码
$page = $_GET["page"];
$kw = $_GET['kw'];
$kwsql ="";
$kwpage ="";
if($kw !==null &&$kw!=""){
    $kw = strip_tags($kw);
    $kwsql = " where word like '%".$kw ."%' ";
    $kwpage ="&kw=".$kw;
}

$num = 4;  //设置每页显示数量
if($page ===null ){ $page ="1"; }
$page = (int)$page;
//////

try {
    $sqlite = new PDO("sqlite:test.db");
    $sqlite->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
    echo "error";
    die($e);
}

////获取总行数
$sth = $sqlite->prepare('SELECT count(*) as num  FROM dict ' . $kwsql);
$sth->execute();
$rows = $sth->fetchAll();
$numRows = (int)$rows[0]["num"];
//////
///

    $sth = $sqlite->prepare('SELECT * FROM dict '.$kwsql.' limit '.($page-1)*$num . ' ,'.$num);
    $sth->execute();
    $result = $sth->fetchAll();
?>

<html>
<head>
    <title>DICTIONARY</title>
    <meta charset="utf-8">
    <meta name='viewport' content='width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no'>
</head>
<body>
    <h1>词语查询</h1>
    <div>
    <form action="" method="get" >
        <span>查询内容:</span>
        <input id="box" name="kw" type="text" placeholder="请输入要查询的内容">
        <input type="submit" value="查询">
    </form>
    </div>
    <?php
    foreach($result as $row)
        echo '<div class="jieguo">
<strong>词语:</strong><span>'.$row['word'].'</span>
<strong>发音:</strong><span>'.$row['fayin'].'</span>
<strong>释义:</strong><span>'.$row['shiyi'].'</span>
<strong>出处:</strong><span>'.$row['chuchu'].'</span>
</div><br />';
    ///////////////下面是显示上下页的代码
    if($page>1){
       echo '<a href="/test2.php?page=' .  ($page-1).$kwpage .'">上一页</a>';
    }
    if($page*$num<$numRows){
        echo '<a href="/test2.php?page=' .  ($page+1).$kwpage .'">下一页</a>';
    }
    echo '总结果'.$numRows.'条';
    ?>
</body>
</html>

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
zoenbo + 1 + 1 谢谢@Thanks!

查看全部评分

不知道改成啥 发表于 2020-11-3 08:47
var sql = string.Format("select * from dict order by Id limit {0} offset {0}*{1}", size, index-1);//size:每页显示条数,index页码
用limit啊
xaibin 发表于 2020-11-3 08:53
看不懂但是感觉好厉害的样子,先学习了,谢谢分享。
 楼主| zoenbo 发表于 2020-11-3 09:14
tanzhiwei 发表于 2020-11-3 08:47
var sql = string.Format("select * from dict order by Id limit {0} offset {0}*{1}", size, index-1);// ...

这个具体怎么用在前端页面呢?
zfzhhh 发表于 2020-11-3 09:31


[PHP] 纯文本查看 复制代码
<?php
error_reporting(0);
///获取页码
$page = $_GET["page"];
$num = 4;  //设置每页显示数量
if($page ===null ){ $page ="1"; }
$page = (int)$page;
//////

try {
    $sqlite = new PDO("sqlite:test.db");
    $sqlite->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
    die($e);
}

////获取总行数
$sth = $sqlite->prepare('SELECT count(*) as num  FROM dict ');
$sth->execute();
$rows = $sth->fetchAll();
$numRows = (int)$rows[0]["num"];
//////
///

    $sth = $sqlite->prepare('SELECT * FROM dict limit '.($page-1)*$num . ' ,'.$num);
    $sth->execute();
    $result = $sth->fetchAll();
?>

<html>
<head>
    <title>DICTIONARY</title>
    <meta charset="utf-8">
    <meta name='viewport' content='width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no'>
</head>
<body>
    <h1>词语查询</h1>
    <p>
        <span>查询内容:</span>
        <input id="box" type="text" placeholder="请输入要查询的内容">
    </p>
    <p>
        <button>查询</button>
    </p>
    <?php
    foreach($result as $row)
        echo '<div class="jieguo">
<strong>词语:</strong><span>'.$row['word'].'</span>
<strong>发音:</strong><span>'.$row['fayin'].'</span>
<strong>释义:</strong><span>'.$row['shiyi'].'</span>
<strong>出处:</strong><span>'.$row['chuchu'].'</span>
</div><br />';
    ///////////////下面是显示上下页的代码
    if($page>1){
       echo '<a href="/test2.php?page=' .  ($page-1) .'">上一页</a>';
    }
    if($page*$num<$numRows){
        echo '<a href="/test2.php?page=' .  ($page+1) .'">下一页</a>';
    }
    echo '总结果'.$numRows.'条';
    ?>
</body>
</html>
不知道改成啥 发表于 2020-11-3 09:33
zoenbo 发表于 2020-11-3 09:14
这个具体怎么用在前端页面呢?

不懂php怎么做
 楼主| zoenbo 发表于 2020-11-3 09:36
zfzhhh 发表于 2020-11-3 09:31
[mw_shl_code=php,false]

哇,厉害厉害!大佬,你看能不能帮我实现一下搜索关键词出结果并分页不?那个实现了就彻底完美了~~
zfzhhh 发表于 2020-11-3 09:41
zoenbo 发表于 2020-11-3 09:36
哇,厉害厉害!大佬,你看能不能帮我实现一下搜索关键词出结果并分页不?那个实现了就彻底完美了~~{:1_89 ...

那样你不就没事干了吗?
不能这样做
 楼主| zoenbo 发表于 2020-11-3 09:44
zfzhhh 发表于 2020-11-3 09:41
那样你不就没事干了吗?
不能这样做

大佬求你了~好不容易遇到个救星~我有个悬赏的帖子,大佬把答案贴上去,我直接采纳哈 拜托了拜托了,真的等了很多天了
 楼主| zoenbo 发表于 2020-11-3 09:47
zfzhhh 发表于 2020-11-3 09:31
[mw_shl_code=php,false]

大佬开恩,再帮帮我哈,最近也是刚学起,完全小白啥也不懂,此后一定好好学习天天向上
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 11:43

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表