PHP - Execute novamente a consulta com variáveis diferentes
Pergunta
Estou tentando fazer uma versão mais simples
$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);
O que estou procurando fazer é executá-lo para que seja algo como
$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[]);
Agora eu sei que isso é horrível, mas estou apenas tentando transmitir o que estou tentando fazer.
Sou bastante novo em arrays e sei que preciso de um for ou foreach para o deslocamento.Só não tenho certeza de como fazer isso.
Graças ao Chococroc. O código que estou usando agora é:
$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);
Eu configurei originalmente para $i = 0 mas parecia pular uma linha ou 3 (dependendo da atualização).
Solução
Se você sabe onde começa e onde termina, basta usar um for
laço:
$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);
}
Esteja ciente do deslocamento, é o primeiro parâmetro no limite.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow