2012-06-22 77 views
1

我開發了一個接收用戶註釋並將它們存儲在數據庫中的PHP代碼。但是當我發佈評論時,我想輸出用戶的圖片。另外,如果數據庫中沒有用戶圖像,則應顯示默認圖像。 目前我的PHP代碼如下所示:PHP當用戶評論時顯示用戶圖像

<?php 
if($pid && $sess_uid && $comment_text){ 
    $sql = "INSERT INTO ttl_comments (comment_pid, comment_text, comment_uid) VALUES ('".$pid."', '".$comment_text."', '".$sess_uid."')"; 

    $result = mysql_query($sql); 
    $comment_id = mysql_insert_id(); 
    if($comment_id > 0) 
    echo '<div class="usercomment"> 
      <div class="clr"></div> 
      <a href="profile.php?uid='.$sess_uid.'"></a> 
      <a href="profile.php?uid='.$sess_uid.'"> 
       <span class="commentsuser">'.$sess_fname." ".$sess_lname.'</span> 
      </a> 
      <span class="comments">'.$comment_text.'</span> 
     </div> 
} 
?> 
+2

你有什麼試過?我在這裏沒有看到任何試圖在頁面上放置圖像的東西。 – ametren

+0

@ametren:我試圖使用'echo'命令輸出圖像,但遇到了問題。我真的不知道如何輸出來自數據庫的圖像。 – user188995

+2

您不應該將圖像存儲在數據庫中。最多可以將圖像的位置存儲在服務器的文件系統中。 –

回答

0

較大的數據量工作時,你應該總是存儲在數據庫中的圖像的實例。人們不能繼續命名1000個圖像。我想下面的鏈接將幫助你改進它: store image in database or in a system file?

+0

謝謝。你建議的鏈接幫助了很多。 – user188995

+0

@ user188995:沒問題。 – xan

0

首先,我建議你在文件系統中存儲的圖像,然後只是把路徑圖像中的數據塊而不是存儲在數據庫中的實際圖像。

但是,如果圖像作爲BLOB存儲在數據庫中,則必須顯示一個IMG標記,並在該PHP腳本中將該圖像轉儲爲響應,作爲該標記的src。

要從數據庫轉儲映像你必須做一些事情like this

1

我假設你沒有在數據庫中存儲的BLOB的圖像數據。如果你是我要懇請你不要做:)

提供你要存儲在數據庫中這樣

/images/users/user0001.jpg

然後圖像的位置的引用你會只需將該數據作爲文本獲取並將其作爲標籤的來源進行回顯即可。

有點像這樣:

$row = mysql_fetch_result($result); 

< img src ="< ?php echo $row['name_of_image_col']; ? >" > 
+1

是的。謝謝你的小提示。有用。我包括: ' ' 我現在應該做什麼作爲SO的用戶?我應該**「回答我的問題」嗎?** – user188995

+0

看起來您選擇我的回答是正確的,這是常態。如果您沒有從其他用戶那裏得到合適的答案,但是通過其他來源找到了答案,請「回答我的問題」。歡迎來到stackoverflow,請參閱常見問題,以獲取有關詢問和回答問題的更多詳細信息:http:// stackoverflow .com/faq – BOMEz

+1

再次感謝。你的回答給了我一種思考的本能。這與我猜想的答案類似。 :P – user188995