题
我正在尝试制作一个更简单的
版本$query1 = "SELECT $select FROM HelpDesk ORDER BY createdtime DESC LIMIT 100";
$records1 = $client->doQuery($query);
$query2 = "SELECT $select FROM HelpDesk ORDER BY createdtime DESC LIMIT 100,100";
$records2 = $client->doQuery($query2);
.
我想做的是运行它,以便它是
$qnum = 1; qmax = 15; $offset = 100;
while (qnum < $qmax) {
$query# = "SELECT $select FROM Table ORDER BY Field DESC LIMIT 100,$offset";
$records# = $client->doQuery($query#);
}
$records = array_merge($records[]);
.
现在我知道这是可怕的,但我只是想遇到我想要做的事情。
我对数组相当新的,我知道我需要一个或在那里抵消。我只是不确定如何做到这一点。
感谢Chococroc的代码,我现在使用了:
$query1 = "SELECT $select FROM HelpDesk ORDER BY createdtime DESC LIMIT 100";
$records1 = $client->doQuery($query1);
$records = array();
for ($i = 100; $i <= 1500; $i+=100 ) {
$query = "SELECT $select FROM HelpDesk ORDER BY createdtime DESC LIMIT 100,$i";
$new_records = $client->doQuery($query);
$records = array_merge($records, $new_records);
}
$records = array_merge($records, $records1);
.
我确实将其设置为$ i= 0,但似乎跳过一排或3(取决于刷新)。
解决方案
如果您现在在哪里开始,并且在哪里完成,只需使用for
循环:
$result = array();
for ($i = 100; $i <= 1500; $i+=100 ) {
$query = "SELECT $select FROM HelpDesk ORDER BY createdtime DESC LIMIT $i, 100";
$new_result = $client->doQuery($query);
$result = array_merge($result, $new_result);
}
.
要注意偏移量,这是限制的第一个参数。
不隶属于 StackOverflow