Pregunta

Estoy tratando de hacer una versión más sencilla de

$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);

Lo que estoy buscando hacer es ejecutarlo para que sea algo así 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[]);

Ahora sé que esto es horrible, pero solo estoy tratando de cruzar lo que estoy tratando de hacer.

Soy bastante nuevo para las matrices, y sé que necesito un o foreach allí para el desplazamiento.Simplemente no estoy seguro de cómo hacerlo.

Gracias a Chococococroc El código que ahora estoy usando es:

$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);

Lo establecí originalmente a $ I= 0, pero parecía omitir una fila o 3 (dependiendo de la actualización).

¿Fue útil?

Solución

Si ahora está a la que comienza, y dónde termina, solo use un bucle de 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);
}

Sé consciente de la compensación, es el primer parámetro en el límite.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top