2017-08-07 39 views
-1

如果用戶上傳多個圖像到他們的個人資料頁面,我將如何顯示該特定用戶的圖像?我想我做了這樣的事情:如何顯示數據庫中登錄的用戶圖像?

$db = mysqli_connect("localhost", "root", "", "testdb"); 
     $sql = "SELECT * FROM users ORDER BY id DESC"; 
     $result = mysqli_query($db, $sql); 
     while ($row = mysqli_fetch_array($result)) { 
      echo "<a href='profiles/uploads/".$row['image']."> "; 
       echo "<img id='img_div' title='".$row['image']."' alt='".$row['image']."' src='profiles/uploads/".$row['image']."'/>"; 
       //echo "<p id='img_div'>".$row['desc']."</p>"; 
       echo "</a>"; 

但我覺得這是非常錯誤的,因爲它顯示每個人的圖像,而不是用戶的圖像。我試圖查找答案,但似乎無法找到答案。

回答

0

試試這個:

您需要設置用戶在SQL查詢像id = 10

而且也缺少'最後這行:echo "<a href='profiles/uploads/".$row['image'].">";

<?php 
$user_id = 10; 
$db = mysqli_connect("localhost", "root", "", "testdb"); 
$sql = "SELECT * FROM users WHERE id = ". $user_id ." LIMIT 1"; 
$result = mysqli_query($db, $sql); 

while ($row = mysqli_fetch_array($result)) { 
    echo "<a href='profiles/uploads/". $row['image'] ."'>"; 
    echo "<img id='img_div' title='".$row['image']."' alt='".$row['image']."' src='profiles/uploads/".$row['quotes']."'/>"; 
    //echo "<p id='img_div'>".$row['desc']."</p>"; 
    echo "</a>"; 
} 
?> 
+0

謝謝! @ChandraKumar –

1

您需要一個where子句。 where id = 5,當然,用你正在尋找的任何用戶來替換這個號碼。

眼下查詢SELECT * FROM users ORDER BY id DESC是說:

從所有用戶中選擇所有列,通過ID進行排序。

相反,你想要的東西,如:

SELECT * FROM users WHERE id = {user id}其中規定:

所有用戶,其中ID等於用戶ID選擇所有列。

順便說一句,我不知道你是如何數據庫建立,但

如果用戶上傳多張自己的個人資料頁,我將如何顯示特定用戶的圖像

讓我覺得你應該真的有單獨的表,如果你想允許多張圖片。

+0

所以我說'WHERE ID =「$ user_id''或類似的東西? –

+0

@AshleyHoward確切地說是 – Matthew

+0

如果我去另一個人的個人資料頁面,我會做同樣的事情,或者加上'AND username ='$ username''? @Matthew –

相關問題