我在joomla 3上有一篇文章,php代码是这样的:
<?php
include(config.php);
$limit = 10; #item per page
# db connect
$link = mysql_connect(DB_HOST, DB_USER, DB_PASS) or die('Could not connect to MySQL DB ') . mysql_error();
$db = mysql_select_db(DB_NAME, $link);
$page = (int) (!isset($_GET['p'])) ? 1 : $_GET['p'];
# sql query
$sql = "SELECT * FROM actor_info ORDER BY id DESC";
# find out query stat point
$start = ($page * $limit) - $limit;
# query for page navigation
if( mysql_num_rows(mysql_query($sql)) > ($page * $limit) ){
$next = ++$page;
}
$query = mysql_query( $sql . " LIMIT {$start}, {$limit}");
if (mysql_num_rows($query) < 1) {
header('HTTP/1.0 404 Not Found');
echo 'Page not found!';
exit();
}
?>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript" src="http://localhost/test/js/js/jquery-ias.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
// Infinite Ajax Scroll configuration
jQuery.ias({
container : '#content', // main container where data goes to append
item: ".post",
pagination: "#content .navigation a",
next: ".next-posts a",
loader: '<img src="css/ajax-loader.gif"/>', // loading gif
triggerPageThreshold: 3 // show load more if scroll more than this
});
});
</script>
</head>
<body>
<div class="wrap">
<h1><a href="#">Data load while scroll</a></h1>
<!-- loop row data -->
<?php while ($row = mysql_fetch_array($query)): ?>
<div class="item" id="item-<?php echo $row['id']?>">
<h2>
<span class="num"><?php echo $row['id']?></span>
<span class="name"><?php echo $row['first_name'].' '.$row['last_name']?></span>
</h2>
<p><?php echo $row['film_info']?></p>
</div>
<?php endwhile?>
<!--page navigation-->
<?php if (isset($next)): ?>
<div class="nav">
<div class="next-posts"><a href='test?p=<?php echo $next?>'>Next</a></div>
</div>
<?php endif?>
</div><!--.wrap-->
</body>
</html>现在它可以从数据库中检索数据,但是当我想要获得滚动效果时,它会显示一个“stops...so”链接,将我带到下一个页面/test?p=2甚至更多
我该怎么解决它呢?
我通过一个名为SOURCERER的插件将这段代码放在了一篇文章中
发布于 2014-11-21 15:18:21
你做错了。
把代码和内容混在一起是很糟糕的做法。但是在你的文章中混用老式的php简直是疯了。
你试图与框架背道而驰,而不是顺其自然。你让你的生活苦不堪言,你的代码丑陋且不可维护,你的网站脆弱不堪。每天你坚持这种方法,一只小猫就会死。
所以你想要无限滚动?非常好。您的代码可以工作,我对IAS不熟悉,但是您需要将它移到其他地方(并且您需要迁移mysql_connect语句-您希望使用JDatabase),并从以下位置更改初始化:
<script type="text/javascript">
$(document).ready(function() {至
<script type="text/javascript">
jQuery(document).ready(function() {你的代码应该放在哪里?如果您想无限滚动到的每个页面都需要重新调用它,那么您有几个选择:
>H112以上的组合(即模板覆盖或用于初始调用的模块、用于下一页结果的控制器)
模块可能是最简单的地方。您的模块将被放置在文章内容的正下方,在初始加载之后,由参数确定请求是否为第二个页面的请求,并仅返回其标记(通过在joomla进程命中模块时立即终止它)
https://stackoverflow.com/questions/27032848
复制相似问题