PHP - Rerun Query с разными переменными
Вопрос
Я пытаюсь сделать более простую версию
$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[]);
.
Теперь я знаю, что это ужасно, но я просто пытаюсь перебраться на то, что я пытаюсь сделать.
Я довольно новичок в массивах, и я знаю, что мне нужен или foreach там для смещения.Я просто не уверен, как это сделать.
Благодаря ChocoROC код, который теперь использую:
$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