Есть ли причина, по которой я не смог включить два оператора mysql_fetch_array, работающие с двумя разными результатами запроса mysql, в один цикл while?
Причина в том, что у меня есть два результата запроса из базы данных mysql, каждый из которых содержит два столбца следующим образом:
Query 1: Date, Value 1
Query 2: Date, Value 2
Даты в каждом запросе всегда являются датами окончания недели с регулярными интервалами в 1 неделю в порядке возрастания. Однако они могут начинаться и заканчиваться в разные даты для любого результата запроса.
Я хочу создать массивы для возврата к вызывающей веб-странице с датой, значением 1 и значением 2, только если оба значения 1 и 2 доступны в течение одного периода.
Я включил блок if / else, который сравнивает первую дату в каждом запросе и устанавливает указатель, используя mysql_data_seek, для которого когда-либо в наборе результатов есть самая ранняя дата начала, чтобы обеспечить его переход к дате, соответствующей первой доступной дате в другой набор записей.
Поскольку последняя доступная дата также может отличаться, я подумал, что для обеспечения того, чтобы возвращаемые массивы имели одинаковую длину (следовательно, усечение того результата, который имеет более свежие данные, до последней доступной даты другого результата), Я думал, что смогу выполнить итерацию результатов обоих запросов следующим образом:
$ReturnDate = array();
$ReturnValue1 = array();
$ReturnValue2 = array();
$i=0;
while ($row1=mysql_fetch_array($res_Query1,MYSQL_NUM) && $row2=mysql_fetch_array($res_Query2,MYSQL_NUM)) {
$ReturnDate[$i]= $row1[0];
$ReturnValue1[$i] = (float)$row1[1];
$ReturnValue2[$i] = (float)$row2[1];
$i++;
}
Однако второй массив возвращаемых значений всегда возвращает последовательность нулей. Действителен ли приведенный выше код?
Большое спасибо