任何人都可以告诉我为什么这一切都没有输出......没有错误,没有通知。纳达。 我真的需要帮助,SQL细节没什么问题。代码目的是显示带有AJAX div的Mysql数据,可以加载更多帖子。如果有任何可能导致此问题,请在下面发布。谢谢!:) 源代码:
<?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>
我之前确实发过这个问题,我知道这会让你们生气。但我尝试修复它一段时间,但我只是不像在这里的人那样有经验,所以我回来了。请不要恨我。
答案 0 :(得分:1)
@ user663049:我认为你的问题就在这一行 -
$query = "SELECT item_id, username, item_content FROM updates ORDER BY update_time DESC LIMIT $start,$number_of_posts" or die(mysql_error());
应该是 -
$query = "SELECT item_id, username, item_content FROM updates ORDER BY update_time DESC LIMIT " . $start . ", " . $number_of_posts;
$result = mysql_query($query) or die(mysql_error());
答案 1 :(得分:0)
如果因为Web服务器配置而没有显示任何内容。您可以尝试在PHP块的开头插入以下内容,这样您至少可以看到错误并进行调试
<?php
error_reporting(E_ALL);
ini_set('display_errors', true);
?>