Met adlı üyeden alıntı: mesajı görüntüle
Evet while ile verileri kullanmak üzere dizide toplaman gerekiyor bu arada bize gereken formata sokuyoruz.
Tarihi aynı verileri alt dizide bir araya topluyoruz.
<?php
$table = [];
while($row2 = $result->fetch_assoc()){
$table[$row2['giris']][] = $row2;
}
Doğru yolda ilerlerdiğimi düşünüyorum while ve foreach çalıştı

Başta bunu tek gelecek veri üzerinde denedim (adım adım gitmek için)

<?
$table=[];
while ($row2=$result->fetch_assoc()){
$table[$row2['alis_tarih']][]=$row2;
}

foreach ($table as $tr){
?>
<tbody>
<? echo '<tr>';
echo '<td rowspan="'.count($tr).'">'.$tr[0]['alis_tarih'].'</td>';
echo '<td rowspan="'.count($tr).'">'.$tr[0]['alis_tarih'].'</td>';
echo '<td>'.implode('<br>', array_column($tr, 'alis_tarih')).'</td>';
echo '</tr>';
}
?>
</tbody>
</table>

gelis tarihi doğru geldi teslim tarihi de doğru geldi (aslında yanlış ama doğru kabul edelim) işlem kısmı da 3 satır olmalı çünkü o tarihte3 satırlık işlem var orası da doğru

Yalnız bir syntax hatası yaptığım için $table[$row2['alis_tarih']][]=$row2; bölümünü diğer verilerle dolduramadım. yani orada ilk verdiğin örnekteki gibi giris,teslim ve islem kısımlarını ekleyemedim oradaki doğru yazım nasıl olmalı?