2013-10-07 32 views
0

所以我不是最好的PHP,但每個人都必須從某個地方開始。成員數據庫 - 全部顯示?

我想知道如何從數據庫中取出所有行,從某個列中取出數據並以某種方式輸出。

我這樣做的原因是爲了讓它顯示在一個頁面上註冊的所有用戶,有點像任何論壇會員的頁面。

我正想着以某種方式獲取行,而不是將數據放入數組中,而不是使用foreach語句將其作爲每個變量打印出來。

我不是最好的邏輯思考者,但我會給一點的數據庫信息如下:)

這是數據庫的結構的圖像。

enter image description here

向您展示的傢伙,我居然把一個精力投入到這一點,這是我走到這一步,我可怕的PHP技能;)

$result = mysql_query("SELECT * FROM users"); 
while($row = mysql_fetch_array($result)) { 
    $username=array($row['username']); 
    $email=array($row['email']); 
    $firstname=array($row['firstname']); 
    $lastname=array($row['lastname']); 
    $motto=array($row['motto']); 
    $bio=array($row['bio']); 
} 
foreach ($username as &$item) { 
    print $item; 
} 

的一個原因,這個代碼止跌沒有工作是因爲它只是選擇了一個id等於$ userid的人。這意味着它將獲取行信息,而不是列信息。

不知道怎樣用這樣做,因爲我只在我的PHP冒險做的東西跟行,到目前爲止,沒有那麼多的列:(

+0

爲什麼不只是'SELECT * FROM users'呢? – AlexP

+0

但是,如何將所有用戶的數據放入$ username中,然後能夠將其回顯到列出每個用戶的頁面上。只是一個foreach語句,但我怎麼樣,例如它會顯示圖片,用戶名,而不是像這樣的用戶名旁邊的座右銘?這將是非常困難的。 –

+0

@KevinHarrison你應該閱讀一個PHP/MySQL/HTML教程。這個網站是針對特定問題的。 –

回答

1

它的工作原理是這樣的,每次循環「雖然「,你有一組新的信息,只是在那裏顯示你的東西,它比你想象的要容易,這就是爲什麼你有評論者抱怨。 PDO,我知道有很多使用mysql_ *的例子,但是這是因爲它們要麼是舊的例子,要麼是壞的例子,不要使用它,我已經採取了一個example from the PHP manual並且爲你調整了它

$link = mysqli_connect("localhost", "my_user", "my_password", "world"); 

/* check connection */ 
if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit(); 
} 

$result = mysqli_query($link, "SELECT * FROM users ORDER BY username"); 
if($result) { 
    while($row = mysqli_fetch_assoc($result)) { 
     $username=$row['username']; 
     $email=$row['email']; 
     $firstname=$row['firstname']; 
     $lastname=$row['lastname']; 
     $motto=$row['motto']; 
     $bio=$row['bio']; 

     //display your row of user information here 
     echo "<div>"; 
     echo $username; //etc. 

     echo "</div>"; 
    } 

    mysqli_free_result($result); 
} 
mysqli_close($link); 
+0

謝謝這麼多!它實際上工作!是的,我聽到很多人說使用Mysqli,所以現在我還是一個初學者,我應該跳上這個,所以我不會走錯路:) Thankyou! –

+0

我剛剛得到了一個更快的問題,這是其中的一部分。如果我還想顯示$ email,是否需要將它從ORDER BY用戶名的位置更改?因爲如果我現在嘗試回顯用戶名以外的任何內容,它會隨機出現,甚至不會顯示用戶名。 –

+0

不,你應該能夠回顯任何列。 「ORDER BY username」只是按用戶名按字母順序給你列表。不知道什麼可能給你隨機字符 - 等等,檢查你的文本編碼。它是在一些奇怪的其他語言,還是它說UTF-8或unicode或類似的東西? – miyasudokoro