El error te dice de un error estás haciendo alguna división dividida entre cero, en ese caso coloca un if antes y verifica si algunas de las variables tiene algún 0. Si es así entonces al button tienes que otorgarle el valor directamente, si no pues se hace la división algo así
Código PHP:
Ver original$buttons = ($num == 0 || $range == 0 ?
0 : ceil( $num / $range));
Eso se conoce como
operador ternario, el primer valor que está después del símbolo de pregunta es el valor cuando es cierta la condición y el segundo valor que es el que está después de los dos puntos es cuando es falsa la condición.