podrías reemplazar el $i++;
por:
el problema de esto es que te creara un while infinito.
tendrias que complementar mas el if, para que termine el while en cuanto no encuentre mas datos en la consulta.
lo que te recomiendo es que cambies el while que tienses por alguna función fetch: while($row = $resultado->fetch...
y dentro de este haces condiciones para que te genere la lista que deseas