Du skapar inte vid något tillfälle en array här. I din loop modifierar du helt enkelt några variabler som jag inte kan resonera kring i sammanhanget du postade.
Om allt du behöver, kommer ingen datafiltrering att göra:
$list = Array();
while( $row = mysqli_fetch_array($result) ) {
$list[] = $row;
}
[] i princip "lägger till" i PHP, det är en ful mekanism men den fungerar.
Om du vill komma åt rader per primärnyckel ( id
i ditt fall tror jag ) byt sedan ut []
med [$row["id"]]