Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialLeigh Maher
21,830 PointsOk to use this calculation?
Before I watched Randy write out the formula to calculate the $start variable, I tried it myself and came up with a different approach but it seems to work fine. Any drawbacks to writing it this way?
$start = (($current_page * $products_per_page) - $products_per_page) + 1;
Instead of looking at the last one from the previous page, I've done the same calculation as you do for the $end variable and then subtract the number of products per page, and add one.
4 Answers
Jason Anello
Courses Plus Student 94,610 PointsHi Leigh,
Your formula and Randy's formula are mathematically equivalent. Both formulas should always produce the same $start
value for any given $current_page
and $products_per_page
values. Which one you use would then come down to personal preference or whichever one seems more intuitive to you.
I don't know what your math level is but I can try to outline why they're equivalent using the distributive rule in mathematics. Here's a link if you're unfamiliar with it: http://www.themathpage.com/alg/distributive-rule.htm
<?php
// Randy's formula:
$start = (($current_page - 1) * $products_per_page) + 1
// If you distribute the $products_per_page variable through the parentheses using the distributive rule:
$start = ($current_page * $products_per_page - 1 * $products_per_page) + 1
// Simplifying:
$start = ($current_page * $products_per_page - $products_per_page) + 1
// This is the same as your formula.
?>
Ted Sumner
Courses Plus Student 17,967 PointsI don't see why that would not work. I would put it in the program and test it.
Leigh Maher
21,830 PointsHi Ted, Yes, it does work fine. Just wondering if it might have potential issues done this way?
Chris Brown
Courses Plus Student 8,379 Points$end = $currentPage * $productsPerPage; $start = $end - $productsPerPage + 1;
Leigh Maher
21,830 PointsLeigh Maher
21,830 PointsThat's great. Thanks Jason.