Das mit der Auswertung pro Stunde ist wahrscheinlich derzeit nicht möglich, weil Du unter datum eben nur das datum, nicht aber die Uhrzeit eintragen lässt. Wenn Du das aber änderst und etwa in der Spalte time Datum und Uhrzeit erfasst, könnte es mit folgendem SELECT-Befehl klappen:
SELECT COUNT(ip) AS count_user, HOUR(time) AS stunde FROM logs GROUP BY HOUR(time), ip;
Es müsste (?, konnte es nicht ausprobieren) eine Tabelle mit den Einträgen: count_user, stunde herauskommen, wo für jede Stunde die Anzahl der ip's enthalten ist... (hoffentlich) Das würde Dir dann auch die anschließende Zählschleife ersparen.
Axel