Eso pasa porque en cada iteración del while asignas
$id, siempre con el último valor obtenido de la base de datos.
Sabes manejar arreglos (arrays)?
Si es así, define
$ids como arreglo antes de entrar al while y, dentro, asignas a
$ids[] el valor correspondiente.
Si no sabes... entonces pásate por acá:
http://php.net/manual/es/language.types.array.php
P.D. Bienvenido a FDW