我希望这些行 运行 FOR 我数据库的所有值

I want these lines to run FOR ALL of the values of my database

 $sql = 'SELECT * FROM t1
         RIGHT OUTER JOIN t2 ON t2.wid = t1.wid
         LIMIT ' . $number . ' OFFSET 678';

当我手动更改此偏移量时,它会针对我的数据库的不同值运行...我如何在不手动更改此偏移量的情况下做到这一点?有人说我可以不用偏移量就可以做到,但他没有告诉我怎么做……请问有人能帮忙吗??我有一个多月的时间来处理这个问题:'( :'( :'(

您是否尝试过使用带有两个参数的 LIMIT。第一个将是您的起点,第二个将是您的偏移量。例如:

SELECT * FROM tbl LIMIT 5,10;  # Retrieve rows 6-15

使其适应示例:

$sql = 'SELECT * FROM t1
     RIGHT OUTER JOIN t2 ON t2.wid = t1.wid
     LIMIT ' . $number . ', 678';

也许请参阅 MySQL: Select 以获得更多帮助。

$per_page = 10;
$current_page = read_current_page(); // 0,1,2...
$start = $current_page*$per_page;

 $sql = 'SELECT * FROM t1
         RIGHT OUTER JOIN t2 ON t2.wid = t1.wid
         LIMIT ' . $start . ','. $per_page;
save_current_page(++$current_page);

应该是这样的。 read_current_page() 应该以某种方式从文件、数据库或您决定保留该值的地方读取值。所以,你需要一些地方来存储它。

然后您创建查询,最后您必须更新该计数器的值。还添加一些逻辑来重置它,按照您需要的方式。但关键是你必须将它存储在代码之外的某个地方......因为在执行调用后所有值都将丢失。