2011-08-25 84 views
2
 A     B     C 

P_id | name | add  P_id | t_id  t_id | paper 
-----------------  --------------  ------------------ 
    1 sam ca   1  1   1  asdxa 
    2 john de   2  1   2  dgfv 
    3 sam jk   3  2   3  decgf 
    4 sam ca   4  3   4  ergvtr 

現在,我可以很容易地通過名稱名稱「SAM」表一組一搜索,添加。它顯示我像結果,結果顯示問題

SAM CA
SAM JK

我使用PHP和MySQL。我想這樣做在這一些額外的任務: -
- > TOTALCOUNT爲rows..Like
SAM CA 2
SAM JK 1
(我不服用的p_id這裏...只專注於名稱,添加)

- >在2和1(上面)上建立鏈接。所以如果我點擊它。它應該在表格C的另一個html頁面上顯示相關論文。 例如:如果我點擊 ...那麼它應該顯示asdxa和decgf

+1

您還沒有給出任何關於你的php如何與mysql交談的代碼示例。你使用的是什麼數據庫適配器庫? –

回答

0

嘗試使用的第一個任務

$pdo = new PDO(....); 
$result = $pdo->query('SELECT name, add, count(*) from table where name='sam' group by add;')->fetchAll(); 
if ($result) { 
    foreach($result as $row) { 
     ...... 
    } 
} 
//second 
$sql = 'select paper from tableA a inner join TableB b on a.P_id=b.P_id inner join Tablec c inner join b.t_id = c.t_id where a.p_id=2'; 

//重複以前的聲明

1

- > TOTALCOUNT爲rows..Like

SELECT `name`, `add`, count(`add`) FROM `A` WHERE (`name` = 'sam') GROUP BY `add`; 

至於鏈接,您只需鏈接到帶有該ID的頁面,並讓您的php腳本從給定的id中獲取數據在C表中。

要選擇所有匹配的出現次數,同時尋找一個名字:

SELECT `A`.`name` AS name, `A`.`P_id` AS aid, `C`.`t_id` AS cid, `C`.`paper` AS paper 
FROM `A` , `C` 
WHERE (
    `A`.`name` = 'sam' 
) 
AND (
    `A`.`P_id` = `C`.`t_id` 
) 

結果:

name aid cid paper 
sam  1 1 qwertyui 
sam  3 3 zxcvbn 
sam  4 4 uytrewq 
sam  5 5 hfdsa 

相匹配的測試表我在當地的環境的確

+0

假設如果我點擊2,那麼它應該顯示錶C中的兩個值。現在如何獲取這兩個鏈接...我應該使用一個臨時表,(在1個查詢中獲取所有數據並將鏈接部分保存在臨時表)。或別的東西......我很困惑。順便說一句,謝謝你的總數。 – Gagan

+0

@Gagan np。如果我的回答很有幫助,請考慮向上投票(通過按答案分數上方的向上箭頭)。至於你的問題,我不太明白,當你點擊2時,你想從表'C'中取得兩個匹配的結果? –

+1

老兄我不能upvote你的答案...它需要15(最低)聲譽,看看我的分數:P好吧只是離開點擊部分..你可以告訴我如何從表中取得最終結果(asdxa和decgf) C,如果輸入名稱'sam'。 – Gagan