2013-05-19 23 views
0

我的PHP代碼:改變我的輸出格式

$q = $db->query("SELECT username FROM users LIMIT 3"); 
$users = array(); 
while($row = $db->fetchAll($q)) 
{ 
    $users[] = $row; 
} 


foreach($users as $user) 
{ 


echo $user['username'].'<br>'; 

} 

和輸出將是

Nilsen 
Michael 
Sam 

是否有可能改變我的輸出格式爲Nilsen,Michael,Sam沒有開始的foreach?

有什麼想法嗎?

謝謝。

+0

用echo語句中的逗號代替'
'。 – Orangepill

回答

2
while($row = $db->fetchAll($q)) // fetchAll is wired here, but since you get the result, asume that's right 
{ 
    $users[] = $row['username']; 
} 

然後使用:

echo join(',' $users); 
+0

我會試試這個..謝謝 – user2203703

1

你可以使用GROUP_CONCAT()和循環將不需要在PHP端。

SELECT GROUP_CONCAT(username) user_name FROM users LIMIT 3 
+1

+1更好的查詢使開發人員的生活更輕鬆:) –

+0

是否有可能給我一個例子,說明我的代碼應該如何,因爲我試過但沒有成功..謝謝。 – user2203703

0
$q = $db->query("SELECT username FROM users LIMIT 3"); 
while($row = $db->fetchAll($q)) 
{ 
    print_r($row); 
} 

echo $row[0], $row[1], $row[2]; 

我不會爲生產推薦這雖然,只是爲了檢查/調試運行..

0

多數用於調試你可以使用這樣的:

$q = $db->query("SELECT username FROM users LIMIT 3"); 
while($row = $db->fetchAll($q)) 
{ 
    print_r($row); // or below 
    var_dump($row); 
} 

var_dump()函數顯示有關變量/表達式的結構化信息,包括其類型和值。數組遞歸地用值縮進來顯示結構。它還顯示哪些數組值和對象屬性是引用。

print_r()以人類可讀的方式顯示有關變量的信息。數組值將以顯示鍵和元素的格式顯示。類似的符號用於對象。

0

你的意思是?

$stmt = $db->query('SELECT username FROM users LIMIT 3'); 

$rows = $stmt->fetchAll(PDO::FETCH_ASSOC); 

$users = array_map(function($row) { 
    return $row['username']; 
}, $rows); 

print_r($users);