2013-02-26 52 views
0

所以我一直在研究一個小小的自動付款系統,我快完成了!我的客戶在付款後會自動升級帳戶,但我遇到了一些小問題。PHP從我的數據庫中檢索用戶名,然後將它們放入一個數組

我目前手動將他們的用戶名添加到數組中,該數組更改其用戶名樣式以區分他們的等級。

我想知道如何讓它檢索和成功進入一個數組,然後將被調用並顯示他們的新用戶名。

這裏是我獲取用戶名,然後投入一個數組代碼:

​​

好吧,這就是我的數組的代碼看起來像

$members = array($newname);

這是改變他們的排名代碼:

if(in_array(strtolower($rows['received']), $members)) { $user = "" . ucfirst($rows['received']) . ""; }

如果有人感冒了,我會很感激。在看到幾個你的錯誤

+0

爲什麼會出現 「'」。在while循環中。? – 2013-02-26 11:55:06

+0

你不能爆炸一個數組($ name) - 爆炸返回一個數組 – Philipp 2013-02-26 11:55:37

+0

是的。 @菲利普是正確的。你不能爆炸一個數組 – Roger 2013-02-26 11:57:30

回答

0

打開警告..

$db = new mysqli("localhost", "changed", "changed", "changed")or die(mysqli_error()); 
$listmembers = $db->query("SELECT * FROM members")or die(mysqli_error()); 

$names = array(); 
while($listnames = $listmembers->fetch_assoc()) { 
    $names[] = $listnames['username']; 
} 

後來這樣的事情..

if(in_array(strtolower($rows['received']), $names)) { 
    $user = "<font color=\"lime\"><b>" . ucfirst($rows['received']) . "</b></font>"; 
} 
+0

感謝大家,但是我仍然沒有解決我的問題。 – 2013-02-26 12:25:44

+0

什麼是你的問題!?錯誤消息,錯誤行爲或其他內容? – Philipp 2013-02-26 12:29:45

+0

這是我的錯誤: $ names = $ listmembers-> fetch_all(); 它給了我: 致命錯誤:調用未定義的方法mysqli_result :: fetch_all() – 2013-02-26 12:34:23

0

你爲什麼不直接從數據庫中獲取數組?

$db = new mysqli("localhost", "changed", "changed", "changed")or die(mysqli_error()); 
$listmembers = $db->query("SELECT username FROM members")or die(mysqli_error()); 

$names = $listmembers->fetch_all(); 

然後:

foreach ($names as $username) { 
    if (strtolower($rows['received']) == $username[0]) { 
     $user = ucfirst($rows['received']); 
     break; 
    } 
} 
+0

這不起作用,因爲名稱是2-dim數組,in_array無法在2-dim數組中搜索。 – Philipp 2013-02-26 12:10:23

+0

yes ,你是對的,我的錯。我更新了代碼。 – Boynux 2013-02-26 12:14:53

相關問題