Я извлекаю результаты из своей базы данных, и я обрабатываю каждый результат. Теперь я хотел бы запустить все эти результаты одновременно. Возможно ли это с помощью php?одновременно запускать результаты foreach php
Ниже я добавил пример кода, я хотел бы иметь, что для каждого результата запрос выполняется одновременно, не дожидаясь завершения других результатов до перехода к следующему.
while ($accountdata = mysql_fetch_array($qaccountdata))
{
$un = $accountdata['email'];
mysql_query("INSERT INTO log (id, email, item,height, stamp) VALUES ('', '$un','something','', '" . strtotime('now') . "')");
}
Как насчет этого? script.php содержит этот процесс.
<?php
$q = 1;
$mh = curl_multi_init();
while ($accountdata = mysql_fetch_array($qaccountdata)) {
$a = $accountdata['email'];
$ch.$q = curl_init();
curl_setopt($ch.$q, CURLOPT_URL, 'script.php?id='.$a);
curl_setopt($ch.$q, CURLOPT_HEADER, 0);
curl_multi_add_handle($mh,$ch.$q);
$q++;
}
$active = null;
//execute the handles
do {
$mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
while ($active && $mrc == CURLM_OK) {
if (curl_multi_select($mh) != -1) {
do {
$mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
}
}
curl_multi_remove_handle($mh, $ch.$q);
curl_multi_close($mh);
?>
script.php
if (isset($_GET['type'])) {
$_GET['id'] = $un
//rest of code
}
См. Http://stackoverflow.com/questions/70855/how-can-one-use-multi-threading-in-php-applications – MeNa
Можно ли это сделать? '$ Count = количество результатов для ($ I = 0; $ г <$ рассчитывать; $ I + = 1) { в то время как ($ accountdata = mysql_fetch_array ($ qaccountdata)) { } } ' – user3009108
NO. 'mysql_fetch_array ($ qaccountdata)' будет блокировать вашу программу до тех пор, пока он не закончится. – MeNa