Question

Je suis en train de faire une version plus simple 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);

Ce que je cherche à faire est d'exécuter de sorte que c'est quelque chose comme

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

Maintenant, je sais que c'est horrible, mais je suis juste essayer d'obtenir à travers ce que je suis en train de faire.

Je suis assez nouveau dans les tableaux, et je sais que j'ai besoin d'un ou foreach là pour l'offset.Je suis juste pas sûr de comment le faire.

Grâce à Chococroc Le code que j'utilise désormais est:

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

Je n'ai mis à l'origine pour $i = 0, mais il semblait sauter une ligne ou 3 (selon le refresh).

Était-ce utile?

La solution

Si vous avez maintenant où vous commencez, et lorsque vous avez terminé, il suffit d'utiliser un for boucle:

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

Être conscient de l'offset, c'est le premier paramètre de la limite.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top