2013-08-02 21 views
0

將變量值傳遞給另一個文件我有我的主要(用戶可見)文件顯​​示帖子,我需要設置分頁。如何通過類'

如果我在相同的文件中獲取數據庫會很容易(但我想避免這種情況),這就是爲什麼我創建了一個包含類的分離(用戶隱藏)文件,然後從主文件(博客.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(); 

    } 
} 

這個工程就像一個魅力,但現在我需要做的查詢中的計數,工作正常,並給了我一個變量$頁= 5(類posts_b內部處理 - 在文件core.php中) ,

core.php(simplified-with variable);

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的,

謝謝...

+0

所以問題是,如何將變量$ pages和$ this-> rows()一起傳回給blog.php? – uollaa

回答

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); 
+0

嘗試了第一個解決方案,它的功能就像一個魅力。非常感謝你。 p.s.我寫了一個錯誤(在寫一個問題的時候)insted posts_hx它是bx(但是一般的ide是一樣的)...... – uollaa