Creo que el comodín para el día de la semana como nombre es el %l o el abreviado %D (creo).
Pero ojo, siempre es en inglés.
Si lo quieres personalizar, entonces has un array con los días de la semana en tu idioma:
Código PHP:
$dia[0] = "Domingo";
$dia[1] = "Lunes";
$dia[2] = "Martes";
$dia[3] = "Miércoles";
$dia[4] = "Jueves";
$dia[5] = "Viernes";
$dia[6] = "Sábado";
Luego sigues usando el comodín $w en DATE_FORMAT en la sentencia SQL para que te tire el número de día de la semana y luego sólo usas el array para que te de el nombre.
Por ejemplo:
Código PHP:
echo $dia[$row["fecha_dia"]];
Así, si sigues usando "DATE_FORMAT(fecha,'%w %d') AS fecha2", sólo deberás cortar la cadena en dos, la primera parte sabes que es el número de la semana, el segundo el día del mes.
Código PHP:
$fecharow = explode(" ";$row['fecha2']);
Y luego usas el array:
Código PHP:
echo $dia[$fecharow[0]];
Es solo una idea.
Saludos