你好,我想知道一个简单的动态网站,其中div.container的内容是由jquery动态加载的,因为我还需要更新url而不重新加载页面我使用这个脚本:
function ChangeUrl(page, url) {
if (typeof (history.pushState) != "undefined") {
var obj = { Page: page, Url: url };
history.pushState(obj, obj.Page, obj.Url);
}
}
$('ul.menu li a').on('click', function(){
var page = $(this).attr('href');
var pageUrl = page.split("/");
pageUrl = pageUrl[1];
$('.container').load(page + '.php', function(){
//fadeout old content
//fadein new content
});
ChangeUrl('Page1', '?page=' + page);
return false;
})
这个脚本还允许我重新加载(cmd + r // ctrl + r)具有精确div内容的页面。 现在的问题是我写了一个特定的页面,在div.content里面我显示了一个sql表:
<div class="section-inner main-content page">
<?php
$pdo = new PDO('mysql:host=localhost;port=8889;dbname=Table','user','pass');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$smtm = $pdo->query("SELECT item1, item2, item3,item4 FROM Table");
echo '<table border="1">'."\n";
while ($row = $smtm->fetch(PDO::FETCH_ASSOC)) {
echo "<tr><td>";
echo($row['item1']);
echo("</td><td>");
echo($row['item2']);
echo("</td><td>");
echo($row['item3']);
echo("</td><td>");
echo($row['item4']);
echo("</td></tr>\n");
}
echo "</table>\n";
?>
</div>
但是当我从浏览器重新加载此页面时,表格不会显示。 有什么建议吗?
答案 0 :(得分:0)
$row = mysql_fetch_array($query, MYSQL_ASSOC);
while($mysql_num_rows($query)){
?>
<table>
<td><? echo $row[col1]; ?></td>
<td><? echo $row[col2]; ?></td>
<?
}
and go on....
不,你可以通过动态地将这个php文件加载到yor div中来轻松地显示你的html代码。
$('div').load('url.....');
答案 1 :(得分:0)
如果您想重新加载以前加载的页面,请在刷新主页时将其保存在Cookie中
function ChangeUrl(page, url) {
if (typeof (history.pushState) != "undefined") {
var obj = { Page: page, Url: url };
history.pushState(obj, obj.Page, obj.Url);
}
}
$('ul.menu li a').on('click', function(){
var page = $(this).attr('href');
// Save your cookie here
document.cookie = "lastpage=" + page;
var pageUrl = page.split("/");
pageUrl = pageUrl[1];
$('.container').load(page + '.php', function(){
//fadeout old content
//fadein new content
});
ChangeUrl('Page1', '?page=' + page);
return false;
})
// When page is loaded
$(document).ready(function() {
var lastpage = getCookie("lastpage");
if (lastpage) {
// Do the load stuff
}
});
希望这有帮助!
您可以在那里找到getCookie和setCookie函数:https://www.w3schools.com/js/js_cookies.asp
答案 2 :(得分:0)
即使认为Cookie建议完美无缺,我也找到了解决问题的最简单方法(我发现here)
我现在初始化pdo连接,包括pdo.php:
require_once (__DIR__.'/pdo.php');
我复制了:
$pdo = new PDO('mysql:host=localhost;port=8889;dbname=Table','user','pass');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
指定__DIR__
以确保在加载页面时解决相对路径。
希望这会有所帮助