如何使用PHP$_SERVER['PHP_SELF']和href加载内容
How to load content with PHP $_SERVER['PHP_SELF'] and href
大家好,我需要一些帮助:
我完全不懂php和javascript,我在这里遇到了一个小问题,我正在使用一个网站,该网站在左侧显示一个列表,然后当我点击一个元素时,它会显示一个子元素,当我点击该子元素时,会显示一个表,其中包含存储在mysql数据库中的信息,它工作得很完美,但显示的数据有时会显示5000行,所以向下滚动5000行很烦人,所以我决定对结果进行分页,以便每页只显示100个元素。
现在,当我点击链接显示接下来的100行时,我会转到另一个页面,左侧的菜单消失了!
我正在使用类似的东西来浏览结果:
$centerPages = "";
$sub1 = $pn - 1;
$sub2 = $pn - 2;
$add1 = $pn + 1;
$add2 = $pn + 2;
if ($pn == 1) {
$centerPages .= ' <span class="pagNumActive">' . $pn . '</span> ';
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $add1 . '">' . $add1 . '</a> ';
}
else if ($pn == $lastPage) {
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $sub1 . '">' . $sub1 . '</a> ';
$centerPages .= ' <span class="pagNumActive">' . $pn . '</span> ';
}
else if ($pn > 2 && $pn < ($lastPage - 1)) {
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $sub2 . '">' . $sub2 . '</a> ';
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $sub1 . '">' . $sub1 . '</a> ';
$centerPages .= ' <span class="pagNumActive">' . $pn . '</span> ';
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $add1 . '">' . $add1 . '</a> ';
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $add2 . '">' . $add2 . '</a> ';
}
else if ($pn > 1 && $pn < $lastPage) {
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $sub1 . '">' . $sub1 . '</a> ';
$centerPages .= ' <span class="pagNumActive">' . $pn . '</span> ';
$centerPages .= ' <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $add1 . '">' . $add1 . '</a> ';
}
我的猜测是,因为next和back链接是<a href>
标签,所以它加载了一个新页面,显示接下来的100行。
我该如何防止这种情况发生??
我尝试使用一个jquery添加一个preventDefault();对于那些<a href="' . $_SERVER['PHP_SELF']
标签,它起了作用,但现在在那些链接xD上什么都没有发生。
请帮帮我。
提前谢谢。
我希望这个例子能对您有所帮助。它不会刷新url。所以你的菜单链接被打开
您可以创建这样的分页链接
$results = mysqli_query($connecDB,"SELECT COUNT(*) FROM paginate");
$get_total_rows = mysqli_fetch_array($results); //total records
//break total records into pages
$pages = ceil($get_total_rows[0]/$item_per_page);
//create pagination
$pagination = '';
if($pages > 1)
{
$pagination .= '<ul class="paginate">';
for($i = 1; $i<$pages; $i++)
{
$pagination .= '<li><a href="#" class="paginate_click" id="'.$i.'-page">'.$i.'</a></li>';
}
$pagination .= '</ul>';
}
?>
这是分页的脚本
$(document).ready(function() {
$("#results").load("fetch_pages.php", {'page':0}, function() {$("#1-page").addClass('active');}); //initial page number to load
$(".paginate_click").click(function (e) {
$("#results").prepend('<div class="loading-indication"><img src="ajax-loader.gif" /> Loading...</div>');
var clicked_id = $(this).attr("id").split("-"); //ID of clicked element, split() to get page number.
var page_num = parseInt(clicked_id[0]); //clicked_id[0] holds the page number we need
$('.paginate_click').removeClass('active'); //remove any active class
//post page number and load returned data into result element
//notice (page_num-1), subtract 1 to get actual starting point
$("#results").load("fetch_pages.php", {'page': (page_num-1)}, function(){
});
$(this).addClass('active'); //add active class to currently clicked element
return false; //prevent going to herf link
});
});
在这里获取页面
<?php
include("config.inc.php"); //include config file
//sanitize post value
$page_number = filter_var($_POST["page"], FILTER_SANITIZE_NUMBER_INT, FILTER_FLAG_STRIP_HIGH);
//validate page number is really numaric
if(!is_numeric($page_number)){die('Invalid page number!');}
//get current starting point of records
$position = ($page_number * $item_per_page);
//Limit our results within a specified range.
$results = mysqli_query($connecDB,"SELECT id,name,message FROM paginate ORDER BY id DESC LIMIT $position, $item_per_page");
//output results from database
echo '<ul class="page_result">';
while($row = mysqli_fetch_array($results))
{
echo '<li id="item_'.$row["id"].'">'.$row["id"].' <span class="page_name">'.$row["name"].'</span><span class="page_message">'.$row["message"].'</span></li>';
}
echo '</ul>';
?>
相关文章:
- 如何在同一页面上使用windows.location.href将js值传递给php时停止刷新页面
- Javascript-将变量传递给php页面,window.location.href不起作用
- PHP 在特定页面上更改 href
- 使用php使用href链接将输入的文本框值传递到另一个页面
- 在window.location.href中使用php
- 如何更改<a>使用php file_get_contents()标记href
- (PHP&JavaScript)a href添加按钮赢得'我不适用于Mozilla,但适用于IE和谷歌
- 如何使用 PHP 获取 document.location.href 的值
- 使用php变量+javascript变量创建一个href-url
- 通过php/javascript更改href的类
- <一个 href=#> 重定向到索引的链接..php
- 使用href提交到php文件中
- 如果php变量链接为null,则禁用href标记
- 使用href到两个链接(PHP和一个网页)
- 在同一页面上的php函数内部传递href值
- 如何用Javascript调用PHP页面;当用户单击href链接时进行jQuery
- 如何从<选择>中单一值并使用php和javascript分配给href链接
- PHP:如何删除/替换特定的href属性值
- 执行top.location.href后丢失php发布的字符串变量信息
- onClick事件window.location.href而不是window.PHP中的开放问题