2011-05-05 41 views
1

我遇到了一個「獨特」問題。我有兩張桌子,一張給客戶,另一張給用戶。第三張表是評論表。因此,當評論被添加到第三張表格中時,發佈人員ID和評論所屬的組織管理者,他的ID被存儲。現在,當我必須顯示評論時,我不確定如何獲取適當的名稱,因爲它們存儲在兩個不同的表中。如何獲取數據並與表變量匹配?

有關如何做到這一點的任何想法?

一些代碼,我設法創建:

$query="SELECT v_comments.v_comment_id, d_names.d_name, 
    v_comments.visit_reply, v_comments.just_date FROM v_comments 
    LEFT JOIN d_names ON v_comments.d_id = d_names.d_id 
    WHERE v_id = '$vid' and v_comments.s_id='$sid' ORDER BY v_comments.id DESC"; 
    $result=mysql_query($query); 

    $num=mysql_numrows($result); 

    mysql_close(); 

    echo ""; 

    $i=0; 
    while ($i < $num) { 

$reply=mysql_result($result,$i,"v_reply"); 
$replyid=mysql_result($result,$i,"v_comment_id"); 
$dname = mysql_result($result, $i, "d_name"); 


echo ""; 

echo ""; 

$i++; 
    } 
+0

安置自己的表模式 – 2011-05-05 21:57:14

+0

加入的問題! thnks! – KPO 2011-05-05 22:01:46

回答

1

你只需要添加一個連接到另一個表,並選擇其他名稱字段?

這應該工作,如果其他表稱爲「s_names」(我在這猜測):

SELECT v_comments.v_comment_id, d_names.d_name, s_names.s_name, 
     v_comments.visit_reply, v_comments.just_date 
FROM v_comments 
LEFT JOIN d_names ON v_comments.d_id = d_names.d_id 
LEFT JOIN s_names ON v_comments.s_id = s_names.s_id 
WHERE v_id = '$vid' and s_id='$sid' ORDER BY v_comments.id DESC; 
+0

嘿,我會試試看,讓你知道!謝謝! – KPO 2011-05-06 01:09:59

+0

嘿你的顯示結果,但不我仍然有同樣的問題。我拉這些變量中的數據,所以現在如果管理器的名稱在管理器中,而客戶端的名稱在客戶端中,我該如何構造變量,以便一個$ variable將顯示適當的名稱。 – KPO 2011-05-06 11:51:03

+0

沒問題,我懂了!謝謝!! – KPO 2011-05-06 12:01:01

1

你可以做的是在意見表中設置了一個名爲ID場。

然後在插入註釋時在前面添加一個字母,對應於用戶類型。例如:

客戶:C5

用戶:U5

然後當你顯示評論剛剛分開的字母和數字,並搜索基於字母的對應表。

1

這基本上就是連接操作中DATABSE做。 假設你有一個客戶端表,它有一個主鍵'ClientId',一個字符串屬性'Name',以及其他一些在這個問題中不重要的信息。

同樣,您還有另一個'經理'表,其中包含主鍵'ManagerId'和他/她的姓名屬性'名稱'。

如您所述,您還有一個註釋表,其中包含'ClientId','ManagerId'和'Comment'。

我們顯示與您的評論的實際名稱可以使用下面的SQL

SELECT Clients.Name, Managers.Name, Comments.Comment 
FROM Comments 
INNER JOIN Clients 
    ON Clients.ClientId = Comments.ClientId 
INNER JOIN Managers 
    ON Managers.ManagerId = Comments.ManagerId 
+0

嘿,我會試試看,讓你知道!謝謝! – KPO 2011-05-06 01:09:50

+0

資本化是否重要? – KPO 2011-05-06 11:14:52

+0

嘿,我試過...它給了我mysql_num_rows()期望參數1是資源,布爾給定的錯誤,我需要一個WHERE子句? – KPO 2011-05-06 11:29:33