Que tal
Gambinoh,
Deberías mirar lo que estas haciendo, $fila es un array con una sola key, "campo" y $i es un contador que va de 0 al total de registros que te traiga la query, por eso funciona la primera vez, porque es un solo campo, si trajeras en tu select 3 campos haría el loop 3 veces sin problemas y luego ser iria de los limites.
Podría ser asi:
o
Saludos.