Thank you both for your input.
I did lots of reading and testing of different DNS servers, and to be honest, a lot of it went over my head. The 'Simple' in the name of this one I'm trying to use was quite attractive.
I realise that I could simply ask our staff to use 192.168.x.x to see the site inside the network, and I could use Volker's earlier idea of using a variable in the application to connect to the database at the right address - internal IP or domain name. I could do that, but I think it would confuse people. Maybe that's not a good reason though.
Both of your ideas on how to fix this easily sound good, but I'm really not sure how I would actually implement them. Sorry to sound a bit useless.
Right now I'm thinking that I might stick with my plan of updating the configuration file of the DNS server when the dynamic IP changes. I realised I can move the config file to somewhere within the web server, change the file with PHP (which I have a lot of experience with) and update the server by a command line command. (It's Windows by the way).
I would love to do this a simple way, but as I said, I'm not really understanding the simple way.
Thanks for your help.