Цикл php пропускает или пропускает некоторые результаты запроса mysql, тот же запрос приносит 181 результат в PhpMyAdmin и даже в sqlYOG, где в цикле выводится только 175
$queryos = "SELECT * FROM OSCSBranch AS a
LEFT JOIN
(SELECT ItemCode AS icode FROM NonFood
) AS q ON a.ItemCode = q.icode
WHERE a.BranchId = '$bid' AND a.BType = 'O' AND DATE(a.BDate) = '$date'";
$osquery = mysqli_query($conn, $queryos);
if(!$osquery)
{
die("QUERY FAILED OS " . mysqli_error($conn));
}
while($row = mysqli_fetch_assoc($osquery)){
$total[$row['ItemCode']] = $row['TotalQuantity'];
}
Кажется, что некоторые записи имеют одинаковые 'ItemCode'
,
Так из-за $row['ItemCode'] = ....
новые данные того же ItemCode
снова и снова заменяет старое значение, и поэтому вы получаете 175 записей вместо 181
Так что вы можете сделать это, как показано ниже:
Или:-
$total[] = $row['TotalQuantity']; will give you like array(0=>array('name'=>'a',....)....)
Или же
$total[$row['ItemCode']][] = $row['TotalQuantity']; //will give you like array('item201'=>array(0=>array(),1=>array(),...),....) (an example)
Других решений пока нет …