Sounds bad. You may need to buy a new HD. Repairing may not be worth it since HD are cheap nowadays - unless yours is a SCSI drive. You may need to get to a repair shop to try to retrieve your data though.
I've got my data retrieved in Funnan many years ago when my HD crashed.
It's a good practice to always have a backup. There are imaging programs out there. Always keep an image of your HD in an external drive just in case.