Wenn normale Scripte in bestimmten Zeiträumen immer wieder ausgeführt werden sollen, dann wird das auf dem Server mit einem cron-Job erledigt (Linux; für Windows wäre das der Taskplaner oder so). Bei einem PHP-Script sieht das allerdings anders aus, da es normalerweise nur über eine HTTP-Umgebung angefordert wird. Aber Du könntest natürlich ein Script schreiben, welches diese HTTP-Anfrage abschickt.
Nein, ein PHP-Skript muss nicht zwangsläufig vom Webserver gestartet werden, es kann auch direkt von Cron aufgerufen werden.
Oder du machst die Datenbankanfrage gleich in einer anderen Sprache (Perl, Java, whatever...) - wie sich das gehört, denn PHP ist wirklich nur dazu gedacht, Daten an einen HTTP-Client zu schicken (auch wenn die Datenbankanfragen in PHP sehr bequem sind).
Das stimmt nicht, man kann PHP auch als normale Skriptsprache benutzen.
Allerdings erlauben viele Webhoster nicht den Zugriff auf die Crontab, sondern nur bei den teureren virtuellen oder dezidierten Serveraccounts.
In diesem Fall hilft ein Trick: Ein Script überprüft immer, wenn jemand die Homepage aufruft, ob die Datenbank aktualisiert werden muss und führt diese Aktualisierung ggf. durch.
Stefan