Puedes usar esto en su lugar:
$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 />';
En tu for
bucle usted SELECT
todas las filas, pero solo la última instancia se guarda en una variable (en la última iteración de for
bucle), por lo que solo lo obtiene en el while
bucle.
P. D. También podría resolverlo poniendo su while
bucle al final de for
bucle, pero el código anterior no es tan engorroso.