2014-12-22 28 views
0

嘿我需要幫助我想做我的兩個函數在一個,但我不知道爲什麼,但我不能這樣做,就像我想。 這裏是我的兩個函數的代碼
第一:如何把這兩個功能只在一個

$users = User::getAllUsers(); 

而第二個:

$userCheck = Suggestion::getIfUserWrotesSuggestion($user->getId()); 
if(!is_null($userCheck)){ 
?> 
    <option><?php echo $user->getId; ?></option 
} 

現在這兩個功能這樣工作
第一:

public static function getAllUsers(){ 
    $db = new database(); 
    $mysqli = $db->getConnect(); 
    $statement = "SELECT `id` FROM `users` ORDER BY `name` ASC"; 
    var_dump($statement); 
    $sql = mysqli_query($mysqli, $statement); 

    $userArray = array(); 
    while($result = mysqli_fetch_array($sql)){ 
     $id = $result['id']; 
     $user = new User($id); 
     $userArray[] = $user; 
    } 
    return $userArray; 
} 

第二張:

public static function getIfUserWrotesSuggestion($userId){ 
    $db = new Database(); 
    $mysqli = $db->getConnect(); 
    $statement = "SELECT `user_id` FROM `suggestions` WHERE `user_id`= '$userId'"; 

    $sql = mysqli_query($mysqli, $statement); 
    $sql = mysqli_fetch_array($sql); 
    return $sql; 
} 

我希望你能幫助我。
Allready在此先感謝:)

+0

你爲什麼要這麼做?這是兩個不同的業務要求,應該實際保持獨立。任何具體的理由來合併它們? – addicted20015

+0

你想達到什麼目的? –

+0

@ addicted20015是的,我會優先讓他們這樣做,但我的老師想要的是,我只在一個功能中做到這一點 –

回答

2

我認爲你要找的是在一個查詢中加載所有用戶和相應的建議(如果有的話)。

像這樣將有助於

SELECT 
    u.id, 
    COUNT(s.*) as suggestionCount 
FROM 
    users AS u 
    LEFT JOIN suggestions as s ON u.id = s.user_id 
GROUP BY 
    u.id 
ORDER BY 
    u.name` ASC 
+0

這將證明更有效。 – AnotherGuy

+0

是不是OP要求的? –

+0

從代碼判斷所有用戶必須檢索以及 – AnotherGuy