Check your coolant level. Your heater core works off the warm engine coolant as it circulates through it, so a clogged core, or low fluid can cause a weak or non-working heater. Also, you could have a problem with the blend door. It controls the hot/cold air that flows into the car. Why is it hot then cold? That I can't explain.
I know that the selector (Floor, Vent, Defrost, etc) is vacuum controlled and a leak can cause some strange happenings, but I think the blend door controller is electric. It has a plastic arm that can break.