2013-01-20 84 views
0

嗨我想通過用戶名得到一個用戶配置文件字段值(捐贈按鈕代碼)。下面是表MySQL:通過用戶名得到結果

enter image description here

由於我沒有太多的MySQL經歷及學習,我試着用一些條件,但不知何故,我無法理解如何與USERPROFILE表檢查用戶名和獲得捐獻的內容。

SELECT ^users.userid, ^users.handle, ^userprofile.title, ^userprofile.content 
FROM ^users, ^userprofile 
WHERE ^userprofile.userid=^users.handle AND title= 'donation' 

,並嘗試使用echo $donation['content']

但當然我知道的查詢語句是不正確的,但現在我不知道該怎麼寫得到的輸出。請幫幫我。

注:^不過是數據庫前綴

回答

1

最簡單的辦法是嵌套SELECT

SELECT `content` FROM `userprofile` WHERE `userid` = (SELECT `id` FROM `users` WHERE `handle` = ? LIMIT 1) AND `title` = 'donation' LIMIT 1 
+0

這個查詢是美妙的它直接給內容輸出哇謝謝..現在正在輸出的內容。 –

3

你需要做的是進行table join

(在技術上,您正在使用FROM字段中的逗號執行連接,但是,如果不僅僅是爲了便於閱讀,在查詢中指定連接類型很明智)。

可能會有更多的結果,然後只有一個,說如果用戶多次捐贈。無論如何,您需要從您的查詢結果中獲取行(我無法分辨您是否因爲沒有發佈足夠的代碼而執行此操作)。因爲您從多個表中獲取結果,請打印該行返回的數組。

$result = mysql_query(/* YOUR QUERY */) 
while ($row = mysql_fetch_assoc($result)) { 
    //do stuff here later. 
} 
print_r($row); 

一旦你知道什麼是輸出的查詢給出,while循環,您可以訪問您需要的列。

我還應該提到mysql_函數現在已經貶值了,建議您使用mysqli_函數或pdo :: query來訪問sql信息。

+0

能否請您給我一些想法如何做。 –

+0

應該有一個鏈接:S http://dev.mysql.com/doc/refman/5.0/en/join.html –

+0

謝謝。順便說它不是我的負面投票。 –