Can anyone tell me why this is outputting nothing.. at all? No errors, no notices. Nada. I really need help with this, theres nothing wrong with the SQL details. The codes purpose is too display Mysql data with an AJAX div that loads more posts. If theres anything that could be causing this please post below. Thanks!:) Source code:
<?php
/* grab stuff */
function get_posts($start = 0, $number_of_posts = 5) {
/* connect to the db */
$connection = mysql_connect('localhost','root','');
mysql_select_db('draft2',$connection) or die(mysql_error());
$posts = array();
/* get the posts */
$query = "SELECT item_id, username, item_content FROM updates ORDER BY update_time DESC LIMIT $start,$number_of_posts" or die(mysql_error());
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result)) {
preg_match("/<p>(.*)<\/p>/",$row['item_content'],$matches);
$row['item_content'] = strip_tags($matches[1]);
$posts[] = $row;
}
/* return the posts in the JSON format */
return json_encode($posts);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
<head>
<style type="text/css">
.style1 {
font-family: "Trebuchet MS", "Lucida Sans Unicode", "Lucida Grande", "Lucida Sans", Arial, sans-serif;
background-image: url('images/banner.gif');
}
.style2 {
font-size: x-small;
color: #62D7D7;
}
.style3 {
text-align: center;
}
.style5 {
font-size: 12px;
font-family: "lucida grande", "tahoma", "verdana", "arial", "sans-serif"
}
.style6 {
font-family: "lucida grande", "tahoma", "verdana", "arial", "sans-serif";
}
.style7 {
text-align: left;
font-size: x-small;
font-family: "Trebuchet MS", "Lucida Sans Unicode", "Lucida Grande", "Lucida Sans", Arial, sans-serif;
color: #0070B8;
}
#load-more { background-color:#eee; color:#999; font-weight:bold; text-align:center; padding:10px 0; cursor:pointer; }
#load-more:hover { color:#666; }
.activate { background:url(loadmorespinner.gif) 140px 9px no-repeat #eee; }
</style>
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="jquery.scrollTo-1.4.2.js"></script>
<script type="text/javascript">
//when the DOM is ready
$(document).ready(function(){
//settings on top
var initialPosts = <?php echo get_posts(0,$_SESSION['posts_start']); ?>;
//function that creates posts
var postHandler = function(postsJSON) {
$.each(postsJSON,function(i,post) {
//post url
var postURL = '' + domain + post.post_name;
var id = 'post-' + post.ID;
//create the HTML
$('<div></div>')
.addClass('post')
.attr('id',id)
//generate the HTML
.html('<a href="' + postURL + '" class="username">' + post.username + '</a><p class="item_content">' + post.item_content + '<br /><a href="' + postURL + '" class="post-more">Read more...</a></p>')
.click(function() {
window.location = postURL;
})
//inject into the container
.appendTo($('#posts'))
.hide()
.slideDown(250,function() {
if(i == 0) {
$.scrollTo($('div#' + id));
}
});
});
};
//place the initial posts in the page
postHandler(initialPosts);
//first, take care of the "load more"
//when someone clicks on the "load more" DIV
var start = <?php echo $_SESSION['posts_start']; ?>;
var desiredPosts = <?php echo $number_of_posts; ?>;
var loadMore = $('#load-more');
//load event / ajax
loadMore.click(function(){
//add the activate class and change the message
loadMore.addClass('activate').text('Loading...');
//begin the ajax attempt
$.ajax({
url: 'jquery-version.php',
data: {
'start': start,
'desiredPosts': desiredPosts
},
type: 'get',
dataType: 'json',
cache: false,
success: function(responseJSON) {
//reset the message
loadMore.text('Load More');
//increment the current status
start += desiredPosts;
//add in the new posts
postHandler(responseJSON);
},
//failure class
error: function() {
//reset the message
loadMore.text('Oops! Try Again.');
},
//complete event
complete: function() {
//remove the spinner
loadMore.removeClass('activate');
}
});
});
});
</script>
</head>
<body>
<!-- Widget XHTML Starts Here -->
<div id="posts-container">
<!-- Posts go inside this DIV -->
<div id="posts"></div>
<!-- Load More "Link" -->
<div id="load-more">Load More</div>
</div>
<!-- Widget XHTML Ends Here -->
</body>
</html>
I actually have posted this problem before, i know that will get you all angry. But i tried fixing it for a while but im just not as experienced as the people on here so I return. Please dont hate me.