您好! 我想现在你可以从本身的code我给自己定一个上限,以20个职位,以创造一个加载更多的状态按钮ATT底部的进料。
什么即时寻找的是 一个jQuery或JavaScript函数(也许AJAX)的改变
$ statusQ =SELECT * FROM`status`顺序按id降序LIMIT 20;
到
$ statusQ =SELECT * FROM`status`顺序按id降序LIMIT 40;
我只是想改变极限,刷新请求到服务器,而无需更新HTML,JavaScript和CSS。
有什么好办法做到这一点。
请注意,我用Google搜索这个了很多,我只发现例子,不是很好用我的code。
< PHP
$ statusQ =SELECT * FROM`status`顺序按id降序LIMIT 20;
$ how_meny_rows = mysqli_query($ mysqli的,SELECT * FROM`status`);
$ row_cnt = mysqli_num_rows($ how_meny_rows);
$ statusA = mysqli_query($ mysqli的,$ statusQ);
而($行= mysqli_fetch_array($ statusA)){
回声'< DIV CLASS =statusholder>
< DIV CLASS =状态 - IMG>
< IMG SRC ='。$行[图片报。/>
< / DIV>
< DIV CLASS =这个状态>
< H4类=状态 - 谁>。 $行['用户']'< / H4>
&其中,P类=身份与GT; 。$行['状态'。 '&所述; / P>
<一类=状态般的href =JavaScript的的onclick> Gilla&所述; / a取代;
&其中,P类=num_like comingsoon> 。 $行['像'。 '&所述; / P>
<一类=状态注释的href =JavaScript的的onclick> Kommentera detta< / A>
&其中,P类=状态,时间戳> 。 $行['时间戳'。 '&所述; / P>
< / DIV>
< / DIV>';
}
如果($ row_cnt→20){
回声'< DIV CLASS =loadstatus>
< A HREF =JavaScript的:无效(0);的onclick =级=comingsoon> klickaFÖRATT ladda flerstatusar< / A> < / DIV>';
}
?>
解决方案
您可以实现通过使用jQuery的阿贾克斯加载更多功能。
在加载主页面及功放前20个状态记录;在点击 comingsoon
链接,调用另一个页面 moreResults.php
使用jQuery $。阿贾克斯
方法。
在 moreResults.php
页面按上限得到正确的结果。极限值会使用`qry_limit'JS变量传递到 moreResults.php
。
此值将被检索到 qry_limit
隐变量。如果成功,将追加结果加载到 statusDiv
DIV&放大器;更新极限值装载下一一堆记录。
刚刚尝试这一点。
< HTML>
< HEAD>
<脚本SRC =HTTP://$c$c.jquery.com/jquery-latest.min.js类型=文/ JavaScript的>< / SCRIPT>
<脚本类型text / javascript的>
$(文件)。就绪(函数(){
$('a.comingsoon)。点击(函数(){
。VAR qry_limit = $(#qry_limit)VAL();
$阿贾克斯({
键入:POST,
网址:moreResults.php
数据:限价=+ qry_limit,
缓存:假的,
成功:函数(responseData){
VAR newLimit = qry_limit + 20;
$(#DIV statusDiv)追加(responseData)。
$(#qry_limit)VAL(newLimit)。
}
});
返回false;
});
});
< / SCRIPT>
< /头>
<身体GT;
< PHP
$ statusQ =SELECT * FROM`status`顺序按id降序LIMIT 0,20;
$ how_meny_rows =请求mysql_query($ mysqli的,SELECT * FROM`status`);
$ row_cnt = mysqli_num_rows($ how_meny_rows);
$ statusA =请求mysql_query($ mysqli的,$ statusQ);
回声'< DIV ID =statusDiv>';
而($行= mysqli_fetch_array($ statusA)){
回声'< DIV CLASS =statusholder>
< DIV CLASS =状态 - IMG>
< IMG SRC ='。$行[图片报。/>
< / DIV>
< DIV CLASS =这个状态>
< H4类=状态 - 谁>。 $行['用户']'< / H4>
&其中,P类=身份与GT; 。$行['状态'。 '&所述; / P>
<一类=状态般的href =JavaScript的的onclick> Gilla&所述; / a取代;
&其中,P类=num_like comingsoon> 。 $行['像'。 '&所述; / P>
<一类=状态注释的href =JavaScript的的onclick> Kommentera detta< / A>
&其中,P类=状态,时间戳> 。 $行['时间戳'。 '&所述; / P>
< / DIV>
< / DIV>';
}
回声'< / DIV>';
如果($ row_cnt→20){
回声'< DIV CLASS =loadstatus>
< A HREF =JavaScript的:无效(0);的onclick =级=comingsoon> klickaFÖRATT ladda flerstatusar< / A> < / DIV>';
}
?>
<输入类型=隐藏名称=qry_limitID =qry_limit值=20/>
<输入类型=隐藏名称=TOTAL_RESULTSID =TOTAL_RESULTS值=< PHP的echo $ row_cnt;?>/>
< /身体GT;
< / HTML>
moreResults.php
< PHP
//数据库连接
$上限= $ _ REQUEST ['限制'];
$ statusQ =SELECT * FROM`status`顺序按id降序LIMIT $限制,20;
$ statusA = mysqli_query($ mysqli的,$ statusQ);
而($行= mysqli_fetch_array($ statusA)){
回声'< DIV CLASS =statusholder>
< DIV CLASS =状态 - IMG>
< IMG SRC ='。$行[图片报。/>
< / DIV>
< DIV CLASS =这个状态>
< H4类=状态 - 谁>。 $行['用户']'< / H4>
&其中,P类=身份与GT; 。$行['状态'。 '&所述; / P>
<一类=状态般的href =JavaScript的的onclick> Gilla&所述; / a取代;
&其中,P类=num_like comingsoon> 。 $行['像'。 '&所述; / P>
<一类=状态注释的href =JavaScript的的onclick> Kommentera detta< / A>
&其中,P类=状态,时间戳> 。 $行['时间戳'。 '&所述; / P>
< / DIV>
< / DIV>';
}
?>
HI! I want to create a "Load more status" button att the bottom at the feed" right now as you can se from the code i've set a limit to 20 posts.
What im looking for is A Jquery or javascript function (maybe AJAX) that changes the
$statusQ = "SELECT * FROM `status` order by id desc LIMIT 20";
to
$statusQ = "SELECT * FROM `status` order by id desc LIMIT 40";
I Just want to change the LIMIT and refresh the request to the server without updating the HTML, javascript and CSS.
IS there a good way to do this.
Pls note that i've googled this alot and i've only found examples that not really good with my code.
<?php
$statusQ = "SELECT * FROM `status` order by id desc LIMIT 20";
$how_meny_rows = mysqli_query($mysqli, "SELECT * FROM `status`");
$row_cnt = mysqli_num_rows($how_meny_rows);
$statusA = mysqli_query($mysqli,$statusQ);
while ($row = mysqli_fetch_array($statusA)){
echo '<div class="statusholder">
<div class="status-img">
<img src="' . $row['Bild'] . '"/>
</div>
<div class="this-status">
<h4 class="status-who">'. $row['user'] .'</h4>
<p class="status">' .$row['status']. '</p>
<a class="status-like" href="javascript" onclick""> Gilla</a>
<p class="num_like comingsoon">' . $row['like'] . '</p>
<a class="status-comment" href="javascript" onclick"">Kommentera detta</a>
<p class="status-timestamp">' . $row['timestamp'] . '</p>
</div>
</div>';
}
if ($row_cnt > 20) {
echo '<div class="loadstatus">
<a href="javascript:void(0);" onclick="" class="comingsoon"> klicka för att ladda flerstatusar </a> </div>';
}
?>
解决方案
You can achieve 'Load More' functionality by using jQuery Ajax.
Load first 20 status records in main page & On clicking comingsoon
link, call another page moreResults.php
using jQuery $.ajax
method.
In moreResults.php
page get the proper results according to the limit. Limit value will be passed into moreResults.php
using `qry_limit' js variable.
This value will be retrieved from qry_limit
hidden variable. On success, Append the loaded results into statusDiv
div & update the limit value for loading next bunch of records.
Just try this.
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script type"text/javascript">
$(document).ready(function(){
$('a.comingsoon').click(function () {
var qry_limit = $("#qry_limit").val();
$.ajax({
type: "POST",
url: "moreResults.php",
data: "limit="+qry_limit,
cache: false,
success: function(responseData){
var newLimit=qry_limit+20;
$("div#statusDiv").append(responseData);
$("#qry_limit").val(newLimit);
}
});
return false;
});
});
</script>
</head>
<body>
<?php
$statusQ = "SELECT * FROM `status` order by id desc LIMIT 0,20";
$how_meny_rows = mysql_query($mysqli, "SELECT * FROM `status`");
$row_cnt = mysqli_num_rows($how_meny_rows);
$statusA = mysql_query($mysqli,$statusQ);
echo '<div id="statusDiv">';
while ($row = mysqli_fetch_array($statusA)){
echo '<div class="statusholder">
<div class="status-img">
<img src="' . $row['Bild'] . '"/>
</div>
<div class="this-status">
<h4 class="status-who">'. $row['user'] .'</h4>
<p class="status">' .$row['status']. '</p>
<a class="status-like" href="javascript" onclick""> Gilla</a>
<p class="num_like comingsoon">' . $row['like'] . '</p>
<a class="status-comment" href="javascript" onclick"">Kommentera detta</a>
<p class="status-timestamp">' . $row['timestamp'] . '</p>
</div>
</div>';
}
echo '</div>';
if ($row_cnt > 20) {
echo '<div class="loadstatus">
<a href="javascript:void(0);" onclick="" class="comingsoon"> klicka för att ladda flerstatusar </a> </div>';
}
?>
<input type="hidden" name="qry_limit" id="qry_limit" value="20"/>
<input type="hidden" name="total_results" id="total_results" value="<?php echo $row_cnt; ?>"/>
</body>
</html>
moreResults.php
<?php
//Database Connections
$limit=$_REQUEST['limit'];
$statusQ = "SELECT * FROM `status` order by id desc LIMIT $limit,20";
$statusA = mysqli_query($mysqli,$statusQ);
while ($row = mysqli_fetch_array($statusA)){
echo '<div class="statusholder">
<div class="status-img">
<img src="' . $row['Bild'] . '"/>
</div>
<div class="this-status">
<h4 class="status-who">'. $row['user'] .'</h4>
<p class="status">' .$row['status']. '</p>
<a class="status-like" href="javascript" onclick""> Gilla</a>
<p class="num_like comingsoon">' . $row['like'] . '</p>
<a class="status-comment" href="javascript" onclick"">Kommentera detta</a>
<p class="status-timestamp">' . $row['timestamp'] . '</p>
</div>
</div>';
}
?>