Mesajlar Etiketlendi ‘load more button’

Javascript

<script type=”text/javascript” >
$(document).ready(function() {

var msg = 2;
$.urlParam = function(name) {
var results = new RegExp(‘[\\?&amp;]’ + name + ‘=([^&amp;#]*)’).exec(window.location.href);
return results[1] || 0;
};
$.ajax({
type: “POST”,
url: “TweetLazyLoad”,
cache: false,
data: “iduser=” + $.urlParam(‘userid’),
success: function(html) {
var obj = $.parseJSON(html);
var lang = “”;

$.each(obj, function() {
lang += “<tr>”;
lang += “<td hidden=’true’>” + this[‘idtweet’] + “</td>”;
lang += “<td id=’tdcontent’>” + this[‘content’] + “</td>”;
lang += “<td>” + this[‘date’] + “</td>”;
lang += “</tr>”;
msg = this[‘idtweet’];
});

$(“#tTable”).append(lang);
}
});

$(“.more”).click(function() {
$.ajax({
type: “POST”,
url: “TweetLazyLoad”,
data: “lasttweet=” + msg,
cache: false,
success: function(html) {
var obj = $.parseJSON(html);
var lang = “”;

$.each(obj, function() {
lang += “<tr>”;
lang += “<td hidden=’true’>” + this[‘idtweet’] + “</td>”;
lang += “<td id=’tdcontent’>” + this[‘content’] + “</td>”;
lang += “<td>” + this[‘date’] + “</td>”;
lang += “</tr>”;
msg = this[‘idtweet’];
});

$(“#tTable”).append(lang);
}
});
return false;
});
});
</script>

Html

<table id=”tTable” border=”2″>
</table>
<div id=”btn”>
<div id=”morebutton” >
<a id=”” href=”#” >
<div id=”moretext”>More</div>
</a>
</div>
</div>

Servlet

PrintWriter out = response.getWriter();
try {
HttpSession session = request.getSession(true);
if (request.getParameter(“lasttweet”) != null){
TweetDAO tweetDAO = new TweetDAO();
int lasttweetid = Integer.parseInt(request.getParameter(“lasttweet”));
List <Tweet> tweets = tweetDAO.timeline2(lasttweetid,Integer.parseInt(session.getAttribute(“idx”).toString()));
Gson gson = new Gson();
out.print(gson.toJson(tweets));
}else{
TweetDAO ttdao = new TweetDAO();
int iduser = Integer.parseInt(request.getParameter(“iduser”));
List <Tweet> ts = ttdao.timeline1(iduser);
Gson gs= new Gson();
out.print(gs.toJson(ts));
session.setAttribute(“idx”, iduser);
}

} finally {
out.close();
}

Functions:

public List<Tweet> timeline1(int iduser) {
List<Tweet> tweetlist = new ArrayList();
ResultSet rs;

try {
//sql code
rs = st.executeQuery(“Select * from tweet WHERE iduserfk=” + iduser + ” ORDER BY date desc limit 2;”);

} catch (Exception e) {
System.out.println(e);
}
return tweetlist;
}

public List<Tweet> timeline2(int idtweet, int iduser) {
List<Tweet> tweetlist = new ArrayList();
ResultSet rs;

try {

rs = st.executeQuery(“Select * from tweet WHERE idtweet<” + idtweet + ” AND iduserfk=” + iduser
+ ” ORDER BY date desc limit 2;”);
//sql code
} catch (Exception e) {
System.out.println(e);
}
return tweetlist;
}

Dikkat edilmesi gereken nokta timeline2 de where şartında son gönderdiğimiz tweet id sinden büyük olanın çekilmesi.