No necesitas el segundo while anidado, la variable $i debe ir fuera del loop, aumentar el valor de $i dentro de las comprobaciones if lo vuelven confuso, tu segundo if anidado nunca va a ser
true porque es incompatible con el primero, etc...
Código PHP:
Ver originalrequire("banner/conexion.php");
$query = "SELECT * FROM articulos order by id desc limit 6 ";
$resultado =$conexion->query($query);
$i = 0;
while($row=$resultado->fetch_assoc()){
$ruta = "img/" . $row['imagen'];
$class = $i % 2 === 0 ? 'imagen1' : 'imagen2';
$i++;
}
Saludos.