2015-02-24 43 views
-1

我希望能夠在新行中顯示用戶名,而不是一個接一個地顯示用戶名。

如:

 
admin 
user1 
user2               
admin      
user1     
user2 

這裏是我的代碼:

$con = mysql_connect('localhost','root',''); 
mysql_select_db('chatbox',$con); 
$sql = "SELECT `username` 
     FROM `users` 
     ORDER BY `username` ASC"; 

$result = mysql_query($sql); 


if($result === FALSE) { 
die(mysql_error()); 
} 

while($row = mysql_fetch_array($result)) 
{ 
echo $row['username']; //over here 
} 
?> 
+2

哦,請'echo $ row ['username']。「
」;' – 2015-02-24 20:44:48

+1

或「\ n」或PHP_EOL – 2015-02-24 20:46:15

+1

@WilliamJanoti'\ n'只會在HTML源代碼中顯示一行,而不會顯示在屏幕上。或者,如果保存在文件中。 '\ n'只會在屏幕上顯示空格而不是新行。 '\ n'如果加入'echo $ row ['username'],那麼它是很好的。 「
」。 「\ n」;'這將在屏幕上生成乾淨的HTML和新行。 – 2015-02-24 20:46:54

回答

4

二者必選其一

echo $row['username'] . "<br>" . "\n"; 

echo $row['username'] . "<br>" . PHP_EOL; 

將產生既乾淨HTML和屏幕上的新行每個單詞/名稱。

旁註:它用雙引號的\n是很重要的。如果沒有,並使用單引號(如'\n')將回顯n這不是你想要的。因此,請使用"\n"


諾塔:\nPHP_EOL只會產生新的生產線/在HTML源回車,而不是在屏幕上,我相信這是最終的目標是什麼。

另外,如果在寫入文件時使用,則會將它們放在單獨的行上。

因此,您需要爲您的目的添加<br>


腳註:

mysql_*功能被取消,並將從未來的PHP版本中被刪除。

2

應使用以下內容作爲while循環:

while($row = mysql_fetch_array($result)) 
{ 
    echo $row['username'], "<br/>", PHP_EOL;//over here 
} 

PHP_EOL指定一個獨立於平臺的換行符。

+0

'echo $ row ['username']。 「
」。 PHP_EOL;''你現在擁有'echo $ row ['username'],PHP_EOL;'只會在HTML源代碼中顯示它們,而不是在屏幕上。 – 2015-02-24 20:56:57

+0

同意。我已編輯帖子以顯示適當的答案。 – 2015-02-24 21:08:16

+0

太好了,謝謝,*乾杯* – 2015-02-24 21:10:05

0

注意:mysql函數自PHP 5.5起棄用,所以您必須移動到mysqli函數。

如果你想使用foreach approachment,那麼就應該是這樣的:

<?php 
$row = mysql_fetch_array($result); 
foreach($row as $key => $value) echo $row['username'].PHP_EOL;