Creo que tu problema como dices no es que no recibes el dato por POST más bien que no estas filtrando correctamente en el WHERE del SQL.
Fijate estas buscando en la columna Establecimiento.nombre un id que es lo que pasas por POST, no conozco tu tabla pero apostaría que deberías filtrar por Establecimiento.idEstablecimiento
En lugar de esto
Código SQL:
Ver originalWHERE Establecimiento.nombre = '".$establecimientos2."
Creo que debería ser esto
Código SQL:
Ver originalWHERE Establecimiento.idEstablecimiento = '".$establecimientos2."
Igualmente prueba a imprimir con un echo tu consulta y a ejecutarla directamente en mysql para ver que resultados te arroja.
Una cosa más la extensión mysql_* esta obsoleta en php, en su lugar se recomienda utilizar la librería mysqli_* en nuevos proyectos. Migrar no es muy difícil pero cambia la forma en que se pasan los parámetros y se realiza la conexión entre otras cosillas, si estas aprendiendo te recomiendo que lo hagas directamente con mysqli.
Puedes echar un vistazo a la documentación oficial
Extensión Mysql Mejorada
Edito.
Analizando tu consulta un poco:
Código SQL:
Ver originalSELECT
Articulos.idArticulos,
Articulos.descripcion,
Articulos.stock,
Articulos.estado
FROM
Establecimiento /* si quieres buscar los artículos de un establecimiento, por que no consultas la tabla artículos */
/* los inner join puede que sobren */
INNER JOIN Departamento ON Departamento.idEstablecimiento = Establecimiento.idEstablecimiento
INNER JOIN Articulos ON Articulos.idDepartamento = Departamento.idDepartamento
WHERE
/* el WHERE deberías hacerlo a la clave foránea que relacione los artículos con su establecimiento */
Establecimiento.nombre = '$establecimientos2'
Sin conocer tu base de datos es difícil construir una sentencia que se ajuste pero, creo que te puedes hacer una idea con lo comentado.