我有我的主(用户可见)文件显示帖子,我需要设置分页。
如果我在同一个文件中获取数据库会很容易(但我想避免这种情况),这就是为什么我创建了一个单独的(用户隐藏的)文件,其中包含从主文件调用的类(博客。 PHP):
blog.php的(简化的):
<?php
require 'core.php';
$posts_b = new Posts_b();
$posts_bx = $posts_b->fetchPosts_b();
foreach($posts_hx as $posts_hy){
echo $posts_hy['title'];
}
?>
core.php中(简化的);
class Posts_b extends Core {
public function fetchPosts_b(){
$this->query ("SELECT posts_id, title FROM posts");
//return
return $this->rows();
}
}
这就像一个魅力,但现在我需要在查询中进行计数,这很好,并且它给了我一个变量$ pages = 5(在类posts_b中处理 - 在文件core.php中),
core.php(简化 - 带变量);
class Posts_b extends Core {
public function fetchPosts_b(){
$this->query ("SELECT posts_id, title FROM posts");
$pages=5;
//return
return $this->rows();
}
}
现在我需要一种方法将这个变量值返回给blog.php(我返回rows()的方式)
请帮助,任何人,
谢谢...
答案 0 :(得分:1)
一个函数只能有一个返回值。
虽然有办法解决这个问题。您可以使返回值为包含所需值的数组。例如:
return array("pages"=>$pages, "rows"=>$this->rows());
然后在你的代码中
require 'core.php';
$posts_b = new Posts_b();
$posts_bx = $posts_b->fetchPosts_b();
$pages = $posts_bx["pages"];
foreach($posts_hx["rows"] as $posts_hy){
echo $posts_hy['title'];
}
?>
或者您可以调整输入参数,前提是它是作为参考提供的
public function fetchPosts_b(&$numRows){
$this->query ("SELECT posts_id, title FROM posts");
//return
return $this->rows();
}
在您的代码中
require 'core.php';
$posts_b = new Posts_b();
$pages = 0;
$posts_bx = $posts_b->fetchPosts_b(&$pages);
foreach($posts_hx["rows"] as $posts_hy){
echo $posts_hy['title'];
}
?>
或者您可以选择在fetchPosts_b方法之外找出您的分页。
$posts_bx = $posts_b->fetchPosts_b();
$pages = floor(count($posts_bx)/50);