harshclimate Posted October 31, 2016 Share Posted October 31, 2016 (edited) Hi folks, brand new here and hope that you can help me; I'm looking for very generic pagination for my page. I'll paste in some html and go from there: <div class="row paginate"> <div class="col-12"> <nav> <a href="index.php" class="active">01</a> <a href="index-02.php">02</a> <a href="index-03.php">03</a> <a href="index-04.php">04</a> <a href="index-05.php">05</a> </nav> </div> </div> What I'm looking for is php inside of the link to echo the .active class based on whether or not you're on the index-02.php page or index-03.php page etc... I'm not using any mysql for this so I hope it's possible. I also plan on putting that chunk of html in an include file so I don't have to manually keep adding new links to every page :/ The site it's going on is one of my own at http://www.harshclimate.com/photos if you wanna see the entire HTML Thanks, all! Edited October 31, 2016 by harshclimate Quote Link to comment https://forums.phpfreaks.com/topic/302438-need-a-conditional-statement-inside-of-a-link-to-echo-div-class/ Share on other sites More sharing options...
requinix Posted October 31, 2016 Share Posted October 31, 2016 An easy way to determine which file the user is looking at would be basename($_SERVER["REQUEST_FILENAME"])That'll be "index.php" or "index-02.php" or whatever. Put that value into a variable then test it for each of the links: if it matches then show the class, otherwise don't. class="active">01 Quote Link to comment https://forums.phpfreaks.com/topic/302438-need-a-conditional-statement-inside-of-a-link-to-echo-div-class/#findComment-1538828 Share on other sites More sharing options...
DeX Posted October 31, 2016 Share Posted October 31, 2016 (edited) <div class="row paginate"> <div class="col-12"> <nav> <?php // loop through 5 page numbers for ($i = 1; $i < 6; $i++) { // output initial links and set the page number in a URI variable echo '<a href ="index.php?page=' . $i . '"; // check URI variable to see if it iss equal to our current iteration count if ($_GET['page'] == $i) echo ' class = "active" '; // output end of link echo '>' . $i . '</a>'; } ?> </nav> </div> </div> Untested but here is how you would build the pages dynamically. Eventually I would have the photo links in a database and I would look into using mod_rewrite with a .htaccess file so you can have the following: .../photos/2 instead of: .../index.php?page=2 Edited October 31, 2016 by DeX Quote Link to comment https://forums.phpfreaks.com/topic/302438-need-a-conditional-statement-inside-of-a-link-to-echo-div-class/#findComment-1538832 Share on other sites More sharing options...
DeX Posted October 31, 2016 Share Posted October 31, 2016 Actually that code should be this. <div class="row paginate"> <div class="col-12"> <nav> <?php // loop through 5 page numbers for ($i = 1; $i < 6; $i++) { // output initial links and set the page number in a URI variable echo '<a href ="index.php?page=' . $i . '"'; // check URI variable to see if it iss equal to our current iteration count if ($_GET['page'] == $i) echo ' class = "active" '; // output end of link echo '>' . $i . '</a>'; } ?> </nav> </div> </div> Quote Link to comment https://forums.phpfreaks.com/topic/302438-need-a-conditional-statement-inside-of-a-link-to-echo-div-class/#findComment-1538833 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.