Re: how to get rid of that annoying |
| From: | Robert Cummings | Date: | Tue, 09 Jun 2009 01:20:26 +0000 |
| Subject: | Re: how to get rid of that annoying | | ||
| References: | 1 2 3 4 5 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-293788@lists.php.net to get a copy of this message | ||
PJ wrote:
Robert Cummings wrote:You have links, each separated by the pipe '|' character. Add each link to a links array: <?phpPJ wrote:Actually, as I am new to this, I still have another little glitch which is a pita. Oh, I know it's a bit of a mess; I have a hard time following, myself. But, being lazy, I'm trying to fix thigs with a band-aid. :-( But I don't understand how I would "build an array of the appropriate entries"... what entries do you mean?Robert Cummings wrote:You didn't disappoint me... I've seen code like that before, I just thought you'd benefit from a cleaner approach instead of the above mess.PJ wrote:---------------|I know this a silly question, but I can't figure out if it's even possible to get rid of that final annoying | in my pagination script. <?echo "<p>Navigation</p>"; echo (($page !=1)?"<a href='".build_url("books.php", "page", 1)."'>first</a>":"first")." ... "; echo (($page>1)?"<a href='".build_url("books.php", "page", $page-1)."'>prev</a>":"prev")." | "; for($i=$page; $i<=($page+$records_per_page-2)+1; $i++){ if ($i!=$page && $i<ceil($count/$records_per_page))echo "<a href='".build_url("books.php", "page", $i)."'>$i</a>", "| "; elseif ($i>ceil($count/$records_per_page))continue;else echo $i, " | "; }Hate to disappoint you all, but I finally found the errant | . Ridiculous, really, that I bothered you all. it's in the line indicated above --- echo " | ... " --- lose the | and it all works like a charm.echo " | ... ".(($page<$count)?"<a href='".build_url("books.php", "page", $page+1)."'>next</a>":"next"); echo " ... ".(($page<$count)?"<a href='".build_url("books.php", "page", ceil($count/$records_per_page))."'>last</a>":"last"); //echo "<p>Table Order</p>"; echo "<br />Ordered alphabetically by book title : "; echo $dir=="ASC"?"Ascending":"<a href='".build_url("books.php", "dir", "asc")."'>Ascending</a>"; echo " | "; echo $dir=="DESC"?"Descending":"<a href='".build_url("books.php", "dir", "desc")."'>Descending</a>"; echo "<br />";?> This produces a very nifty pagination - the problem is how to get rid of the final pages that show up as greater than what is available. The script above works fine, except it leaves that final | ... Any simple solutions?Do it differently... build an array of the appropriate entries. When done, use implode( ' | ', $yourArray ). Cheers, Rob.:-) ;-)
$links = array();
foreach( $items as $item )
{
$links[] = '<a href="#">'.$item.'</a>';
}
echo implode( ' | ', $links );?> Hope that helps. Cheers, Rob. -- http://www.interjinn.com Application and Templating Framework for PHP