Цикл php пропускает или пропускает некоторые результаты запроса MySQL

Цикл 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'];
}

2

Решение

Кажется, что некоторые записи имеют одинаковые '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)
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]