经过几个小时的试图找出我的分页脚本为什么没有与我的变量一起工作,我想出了一些你的帮助,我的POST变量没有被结转从我们的数据分页页面到页面。PHP:持续性POST变量跨分页页面
会话是处理这种情况的最佳方式吗?例如,我有这个:
session_start(); //start session
$_SESSION["formdata"] = $_POST['City']; //get form data input
$myvar = $_SESSION["formdata"];
$sql = "SELECT * FROM $tbl_name WHERE City = \"$myvar\" LIMIT $start, $limit"; //query
无论如何,这似乎并没有工作。表单数据显示在第一页上,但后续页面为空白。感谢您的帮助和建议
CODE:
session_start();
\t
\t
\t include('sqlconnect.php'); \t // include your code to connect to DB.
mysql_select_db("barter") or die(mysql_error());
\t $tbl_name="posts"; \t \t //your table name
\t // How many adjacent pages should be shown on each side?
\t $adjacents = 3;
\t
\t /*
\t First get total number of rows in data table.
\t If you have a WHERE clause in your query, make sure you mirror it here.
\t */
\t $query = "SELECT COUNT(*) as num FROM $tbl_name";
\t $total_pages = mysql_fetch_array(mysql_query($query));
\t $total_pages = $total_pages[num];
\t
\t /* Setup vars for query. */
\t $targetpage = "fp2.php"; \t //your file name (the name of this file)
\t $limit = 3; \t \t \t \t \t \t \t \t //how many items to show per page
\t $page = $_GET['page'];
\t if($page)
\t \t $start = ($page - 1) * $limit; \t \t \t //first item to display on this page
\t else
\t \t $start = 0; \t \t \t \t \t \t \t \t //if no page var is given, set start to 0
\t
\t /* Get data. */
\t
\t $_SESSION["formdata"] = $_GET['City'];
\t $myvar = $_SESSION["formdata"];
\t echo $myvar;
\t $sql = "SELECT * FROM $tbl_name WHERE City = \"$myvar\" LIMIT $start, $limit";
\t $result = mysql_query($sql);
\t
\t /* Setup page vars for display. */
\t if ($page == 0) $page = 1; \t \t \t \t \t //if no page var is given, default to 1.
\t $prev = $page - 1; \t \t \t \t \t \t \t //previous page is page - 1
\t $next = $page + 1; \t \t \t \t \t \t \t //next page is page + 1
\t $lastpage = ceil($total_pages/$limit); \t \t //lastpage is = total pages/items per page, rounded up.
\t $lpm1 = $lastpage - 1; \t \t \t \t \t \t //last page minus 1
\t
\t /*
\t \t Now we apply our rules and draw the pagination object.
\t \t We're actually saving the code to a variable in case we want to draw it more than once.
\t */
\t $pagination = "";
\t if($lastpage > 1)
\t { \t
\t \t $pagination .= "<div class=\"pagination\">";
\t \t //previous button
\t \t if ($page > 1)
\t \t \t $pagination.= "<a href=\"$targetpage?page=$prev\">previous</a>";
\t \t else
\t \t \t $pagination.= "<span class=\"disabled\">previous</span>"; \t
\t \t
\t \t //pages \t
\t \t if ($lastpage < 7 + ($adjacents * 2)) \t //not enough pages to bother breaking it up
\t \t { \t
\t \t \t for ($counter = 1; $counter <= $lastpage; $counter++)
\t \t \t {
\t \t \t \t if ($counter == $page)
\t \t \t \t \t $pagination.= "<span class=\"current\">$counter</span>";
\t \t \t \t else
\t \t \t \t \t $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>"; \t \t \t \t \t
\t \t \t }
\t \t }
\t \t elseif($lastpage > 5 + ($adjacents * 2)) \t //enough pages to hide some
\t \t {
\t \t \t //close to beginning; only hide later pages
\t \t \t if($page < 1 + ($adjacents * 2)) \t \t
\t \t \t {
\t \t \t \t for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++)
\t \t \t \t {
\t \t \t \t \t if ($counter == $page)
\t \t \t \t \t \t $pagination.= "<span class=\"current\">$counter</span>";
\t \t \t \t \t else
\t \t \t \t \t \t $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>"; \t \t \t \t \t
\t \t \t \t }
\t \t \t \t $pagination.= "...";
\t \t \t \t $pagination.= "<a href=\"$targetpage?page=$lpm1\">$lpm1</a>";
\t \t \t \t $pagination.= "<a href=\"$targetpage?page=$lastpage\">$lastpage</a>"; \t \t
\t \t \t }
\t \t \t //in middle; hide some front and some back
\t \t \t elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2))
\t \t \t {
\t \t \t \t $pagination.= "<a href=\"$targetpage?page=1\">1</a>";
\t \t \t \t $pagination.= "<a href=\"$targetpage?page=2\">2</a>";
\t \t \t \t $pagination.= "...";
\t \t \t \t for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++)
\t \t \t \t {
\t \t \t \t \t if ($counter == $page)
\t \t \t \t \t \t $pagination.= "<span class=\"current\">$counter</span>";
\t \t \t \t \t else
\t \t \t \t \t \t $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>"; \t \t \t \t \t
\t \t \t \t }
\t \t \t \t $pagination.= "...";
\t \t \t \t $pagination.= "<a href=\"$targetpage?page=$lpm1\">$lpm1</a>";
\t \t \t \t $pagination.= "<a href=\"$targetpage?page=$lastpage\">$lastpage</a>"; \t \t
\t \t \t }
\t \t \t //close to end; only hide early pages
\t \t \t else
\t \t \t {
\t \t \t \t $pagination.= "<a href=\"$targetpage?page=1\">1</a>";
\t \t \t \t $pagination.= "<a href=\"$targetpage?page=2\">2</a>";
\t \t \t \t $pagination.= "...";
\t \t \t \t for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++)
\t \t \t \t {
\t \t \t \t \t if ($counter == $page)
\t \t \t \t \t \t $pagination.= "<span class=\"current\">$counter</span>";
\t \t \t \t \t else
\t \t \t \t \t \t $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>"; \t \t \t \t \t
\t \t \t \t }
\t \t \t }
\t \t }
\t \t
\t \t //next button
\t \t if ($page < $counter - 1)
\t \t \t $pagination.= "<a href=\"$targetpage?page=$next\">next</a>";
\t \t else
\t \t \t $pagination.= "<span class=\"disabled\">next</span>";
\t \t $pagination.= "</div>\n"; \t \t
\t }
?>
\t <?php
\t \t while($row = mysql_fetch_array($result))
\t \t {
\t
\t \t echo ('<br>');
\t echo '<div style="margin-left:52%;">';
\t echo '<div style=" width:100%; . " id="Posts">';
\t
\t echo '<h3>' . $row["Title"] .'</h3>';
\t echo 'posted by:' . $row["Name"] . "<br/>";
\t echo 'Posted On:' . $row["Time"] . "<br/>";
\t
\t echo $row["postname"] . "<br/>";
\t
\t echo $row["Post"] . "<br/>";
\t echo ('<a href=http://brightstardetailers.ddns.net/Barter/' . $row["postname"] . '.php' . '>Full Post</a>' . "<br/>");
\t
\t echo '</div>';
\t echo '</div>';
\t
\t \t }
\t ?>
<?=$pagination?>
你怎么没有一直在做自己的一页?这将有所帮助。 – Rasclatt 2014-10-18 02:56:00
我是。但脚本的分页部分将页码附加到URL的末尾,然后刷新页面 – user970638 2014-10-18 02:58:54
如果它附加了URL,那么您是否使用'$ _GET'? – Rasclatt 2014-10-18 03:00:57