2012-06-20 3 views
3

J'ai une valeur qui augmente de 1 toutes les 5 vues. La table MySQL ressemble:Obtenir l'incrément suivant avec PHP

myvalue views increment 
10  12 5 

Par exemple, une fois la vue atteint 15, myvalue passera à 11.

J'acomplish cela en faisant:

$div = $myvalue/$increment; 
if (ceil($div) == $div) { 
    $myvalue = $myvalue + $increment; 
} 

Ce que je suis en train de faire est de faire un calcul rapide qui me dirait combien de vues à aller avant l'incrément suivant. Dans cet exemple, je voudrais revenir le numéro 3, car il y a plus de 3 vues jusqu'à ce que la prochaine fois que myvalue frappe un incrément de 5, qui est 15.

Si myvalue était de 10, 26 et views était increment a été 25 , J'ai besoin d'obtenir le nombre 24, car il y a 24 vues supplémentaires nécessaires avant que nous passions à l'incrément suivant de 25, ce qui est de 50.

Toutes les idées comment faire cela?

+2

ne serait-il plus efficace pour avoir juste les points de vue, puis faites les calculs nécessaires. –

Répondre

1

Je pense que vous pouvez utiliser cette formule

$diff = $increment - ($views % $increment); 

Et vous aussi du code d'origine peut être écrite comme

if(($views % $increment) === 0) 
{ 
    $myvalue += 1; // you said myvalue will increase by one 
} 
0
$ret = ceil($views/$increment) * $increment - $views; 

Ou

$ret = $increment - $views % $increment; 
Questions connexes