但是因为我对php中的oop不太熟悉。我不确定我需要将$ db变量定义为,以便正确查询我的数据库。他们是一种可以编辑此代码的方式,因此它避开$ db并使用不同的方法,代码使用ajax来加载更多帖子。错误发生在第24行
<html>
<head>
<script>
$(document).ready(function(){
$("#loadmorebutton").click(function (){
$('#loadmorebutton').html('');
$.ajax({
url: "loadmore.php?lastid=" + $(".postitem:last").attr("id"),
success: function(html){
if(html){
$("ul#posts").append(html);
$('#loadmorebutton').html('Load More');
}else{
$('#loadmorebutton').replaceWith('No more posts to show.');
}
}
});
});
});
</script>
</head>
<body>
<?php
if($posts = $db->get_results("SELECT id,text FROM posts ORDER BY id DESC LIMIT 10")) {
echo '<ul id="posts">';
foreach($posts as $post) {
echo '<li class="postitem" id="'.$post->id.'">'.$post->text.'</li>';
}
echo '</ul>';
}
?>
<button id="loadmorebutton">Load More</button>
</body>
</html>
加载更多
<?php
if($_GET['lastid']){
if($posts = $db->get_results("SELECT id,text FROM posts WHERE id < ".$db- >escape($_GET['lastid'])." ORDER BY id DESC LIMIT 10")) {
foreach($posts as $post) {
echo '<li class="postitem" id="'.$post->id.'">'.$post->text.'</li>';
}
}
}
?>
答案 0 :(得分:1)
如果你不熟悉面向对象的PHP,但是你需要构建你的对象,这将变得很复杂。例如,MySQLi类constructor获取用户,密码,数据库等,然后知道它应该连接到哪里。
在使用$ db-&gt; get_results之类的东西之前,您需要构建数据库对象。现在我不认识get_results函数,所以我认为它是一个自定义构建的DB类。如果您想知道该怎么做,您应该看到该特定类的文档。
答案 1 :(得分:0)
代码似乎很复杂,但如果你想写那样的$db->get_results
。您必须在使用主机名,用户,数据库和密码设置数据库连接的构造函数中创建Database类。
之后,在该类中定义方法 get_result ,然后创建该类的对象,如$dg=new Database();
,然后您可以使用$db->get_result
。
答案 2 :(得分:0)
而不是教你 - 这里的答案需要很长时间,请阅读PHP的OO页面:http://php.net/manual/en/language.oop5.php
这不会花费您很长时间,并且会帮助您了解基础知识,并帮助您解决使用OO代码时遇到的任何问题。