Проблема такая: написал скрипт, который принимает GET запросы, формирует SQL запрос в базу с этими данными и отдает XML ответ. Скрипт простой, все работает, но есть одно но - что если придет еще один запрос, до того как скрипт успеет отдать ответ? Другими словами, мне нужно обеспечить возможность принимать несколько GET запросов подряд, и в таком же порядке обрабатывать их и выдавать ответ.
Сам скрипт.
<?php
$id = $_GET[id];
$sum = $_GET[sum];
include ('sql_conn.php');
$qp = mysql_query("select * from Table1 where id = '$id' and sum = '$sum';");
if (mysql_num_rows($qp) === 1) {
include 'xml_yes.php';
check();
}
else {
include 'xml_no.php';
check();
}
?>
XML ответ
<?php
function check () {
sleep (2);
$string = <<<XML
<?xml version='1.0'?>
<all>
<id>$_GET[txn_id]</id>
<result>0</result>
<comment></comment>
</all>
XML;
$xml = simplexml_load_string($string);
header ("Content-type: text/xml");
print_r($xml->asXML());
}
?>
Насколько я понял, если будет послан еще один GET запрос, сразу вслед за другим, то прекратится обработка 1го, и так и не будет получен на него ответ. Подскажите, как можно это сделать??
И если есть какие-нибудь недочеты в коде, прошу указать =)
Была идея принимать GET, и записывать данные в отдельную таблицу, а потом другим скриптом брать из нее данные, по мере их прибавления, обрабатывать и выдавать ответ. Думаю сработает, но на сколько это рационально...
Заранее благодарю!