2012-11-16 143 views
-2

我具備的功能:PHP MySQL的函數返回多個值

function get_top_refs() 
{ 
global $db; 
$top_refs = $db->EscapeString($top_refs); 
$top_referers = $db->QueryFetchArray("SELECT login, COUNT(*) AS top_referers FROM users  WHERE ref > 0 GROUP BY ref ORDER BY top_referers DESC LIMIT 5"); 
return $top_referers['top_referers']; 
} 

如果我手動查詢數據庫,它有2列回來:

login top_referers 
earl73  101 
yadatoo  100 
kamalancien 88 
lolatyou 61 
wesllys1as 51 

如何退還這兩列然後將它們顯示在表格中?

+0

我不認爲這是工作代碼。 – Evert

+0

我在做什麼錯了? – CustomNet

+0

'$ top_refs'從哪裏來? – asprin

回答

3

更改您的返回值從return $top_referers['top_referers'];return $top_referers

然後用它來獲取你的價值觀:

<?php 
    $values = get_top_refs(); 
    foreach($values as $value) { 
     echo $value['login']." ".$value['top_referers']; 
    } 
?> 
+0

它現在正在顯示一些東西,但它正在顯示: e e1 1 – CustomNet

+0

您可以在get_top_refs函數返回之前創建'print_r($ top_referers)'? –

+0

不確定你的意思,我對此不太瞭解 – CustomNet

-1

您應該使用$ DB作爲函數的參數。全局變量是一個壞主意。

function get_top_refs($db) 
{ 
    /*...*/ 
} 
+0

全局有什麼問題? – CustomNet

+0

如果你的功能是全球性的,你如何測試你的功能? – gregorySalvan

+0

你有沒有聽說過公安條例? – gregorySalvan