我有两个类(用于查询数据库的数据库)和用于操作文章的新闻。在index.php(可以是任何其他页面)上,我调用News类,它调用Database类。一切顺利,直到我必须在index.php上显示结果。
让我们说,我将结果保存在News类中的$ news中。 我应该如何在index.php中检索该数组(如返回$ this-> news或其他内容??)。以及如何显示?
有人可以提供帮助。
答案 0 :(得分:1)
在index.php(可以是任何其他页面)上,我调用News类,它调用Database类。
你没有“打电话给班级”。你可以调用类的方法。
让我们说,我将结果保存在新闻类中的$ news。
我想你的意思是你有一个字段(在PHP中也是 property )名称news
,如:
class News {
private $news;
/* ... */
}
我应该如何在index.php中检索该数组(如返回$ this-> news或其他内容?)
您可以在News
中添加一个返回此数组的方法:
class News {
private $news;
function retrieveNews() {
/* query the DB and store the result in $this->news */
}
function getData() { return $this->news; }
}
或者您可以将其公开并通过$newsObject->news
直接访问(不推荐)。
如何展示?
这取决于数据的结构以及您希望如何显示它。
答案 1 :(得分:1)
class Database{ // database.php
function news($user_id){
$q="select all from news where author id='$id'";
$result=$db->query($q);
for($i=0; $i<$r->num_rows; $i++){
$arr[]=$result->fetch_array;
}
return $arr; }}
class News{ // news.php
function get_news($user_id){
$news=$db->news($user_id);
return $news;
}}
index.php // problem how to display
$post=new News;
$post->get_news($user_id);
for($i=0; $i<5; $i++){
foreach($post[$i] as $k=>$v){
echo $v; //get error: "Cannot use object of type News as array in ..."
}}