Vous pouvez utiliser ceci à la place :
$q = "select serial from book where serial like '%"
. implode($serialID, "%' OR serial LIKE '%") . "%'";
$r = mysqli_query($dbc, $q);
while($row = mysqli_fetch_array($r, MYSQLI_ASSOC)
echo $row['serial'].'<br />';
Dans votre for
bouclez-vous SELECT
toutes les lignes, mais seule la dernière instance est enregistrée dans une variable ( dans la dernière itération du for
boucle), donc vous ne le récupérez que dans le while
boucle.
P.S. Vous pouvez également le résoudre en mettant votre while
boucle à la fin du for
boucle, mais le code ci-dessus n'est tout simplement pas si lourd.