-2

しかし、私は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>'; 
    } 
} 
} 
?>
4

3 に答える 3

1

オブジェクト指向の PHP に慣れていなくても、オブジェクトを構築する必要がある場合、これは複雑になるでしょう。たとえば、MySQLi クラスコンストラクターは、ユーザー、パスワード、データベースなどを受け取り、接続先を認識します。

$db->get_results などを使用する前に、DB オブジェクトを構築する必要があります。今私は get_results 関数を認識していないので、カスタム構築された DB クラスであると推測しています。何をすべきか知りたい場合は、その特定のクラスのドキュメントを参照してください。

于 2012-04-10T06:35:14.660 に答える
0

教えるのではなく、ここで回答するには時間がかかりすぎるため、PHP の OO ページを読んでください: http://php.net/manual/en/language.oop5.php

それほど時間はかからず、基本を理解するのに役立ち、OO コードを使用して遭遇し続ける問題を解決するのに役立ちます。

于 2012-04-11T09:47:03.087 に答える
0

コードは複雑に見えますが、そのように書きたい場合は$db->get_results. ホスト名、ユーザー、データベース、およびパスワードを使用してデータベース接続をセットアップするコンストラクターで Database クラスを作成する必要があります。

その後、そのクラスでメソッドget_resultを定義し、そのクラスのオブジェクトを次のように作成してから、$dg=new Database();を使用できます$db->get_result

于 2012-04-10T06:48:01.187 に答える