There are a few approaches to this problem you can take.
One is to set up a cron job that runs each night and changes the status of old records.
Another is to incorporate the date checking into the where clause on the client side.
The last one would be to use a view that does what you want, but I don't think MySQL has views just yet.
I'd probably go with a cron job. all it needs to do is run a single query probably.
#!/bin/bash
mysql -e dbname 'update table set archived=TRUE where date<now()-7'
or something like that.