Por el momento, su SELECT
le da solo los resultados que sucedieron exactamente 24 horas antes del momento actual. Lo que necesitas es un rango. Ejemplo de 1 hora (se agregó sangría para mayor claridad):
WHERE `time` BETWEEN
DATE_SUB('".$choice."', INTERVAL 24 HOUR)
AND DATE_SUB('".$choice."', INTERVAL 23 HOUR)
De esta manera, obtendrás resultados con time
en el rango de 1 hora de "ahora - 24 horas" y "ahora - 23 horas". ENTRE
operador es equivalente a esto:
WHERE `time` >= DATE_SUB('".$choice."', INTERVAL 24 HOUR)
AND `time` <= DATE_SUB('".$choice."', INTERVAL 23 HOUR)