2015-06-17 133 views
-3

我試圖讓具有相同ID的所有行, 這是表的一個例子中的所有行:SQL - 獲取具有相同的ID

Curs_ID  Cursistnr payed 
Excel  2   500 
Internet 3   100 
C#   2   200 

什麼,我想離開桌子的是這裏的一切是所以我需要的是2排出來的:

Excel  2   500 
C#   2   200 

編輯:

奧凱,讓我問不同的問題。 這是表:

curs_code|Cursistnr|cijfer|payed 
Internet  50  5  2000.00 
Internet  88  7  2000.00 
Word   50  9  3300.00 
Word   88  9  3300.00 
Niam   88  6  850.00 

我嘗試使用cursistnr 88從每一行得到的一切,例如 所以:

上網,88,7,2000.00 Niam,88,6,850.00 字,88,9,3300.00

如果我嘗試SELECT * FROM c_regel WHERE cursistnr = '$ ID'

我只得到:

array (size=8) 
'curs_code' => string 'Internet' (length=8) 
0 => string 'Internet' (length=8) 
'cursistnr' => string '88' (length=2) 
1 => string '88' (length=2) 
'cijfer' => string '7' (length=1) 
2 => string '7' (length=1) 
'betaald' => string '2000.00' (length=7) 
3 => string '2000.00' (length=7) 

的PHP代碼我使用:

function cursusDone($magazijn, $id){ 
    $sql = "SELECT curs_code FROM c_regel WHERE cursistnr='$id'"; 
    $query = $magazijn->query($sql); 
    return $query->fetch(); 
} 

$done = cursusDone($magazijn,$id); 
var_dump($done); 

我認爲這是與SQL表,

,如果我嘗試SELECT * FROM c_regel我只得到TE第一行。 不知道什麼是錯在這裏

+3

這不是一個寫我代碼的服務,告訴我們你嘗試了什麼,什麼沒有工作,這是非常基本的SQL任務。 –

+2

你真的在問這個嗎? – Galma88

+0

我編輯了我的問題 – Floeske

回答

0

我非常確信$query->fetch();確實只能取你的結果的第一行。

如果你可以試試你的cursusDone功能的這款改裝版:

function cursusDone($magazijn, $id){ 
    $sql = "SELECT curs_code FROM c_regel WHERE cursistnr='$id'"; 
    $query = $magazijn->query($sql); 
    var_dump($query->fetch()); 
    var_dump($query->fetch()); 
    //return $query->fetch(); 
} 

這應該輸出你的結果集的前兩行作爲一個數組轉儲。

如果我是正確的,你可以迭代通過$query->fetch(),直到它返回false或空數組(取決於你的數據庫類的內部工作)。

+0

我已經將$ query-> fetch()更改爲$ query-> fetchAll。當你告訴我,fetch()只取第一行時,我立即想到了fetchAll,感謝您的幫助! – Floeske

0
SELECT Curs_ID, payed 
FROM TAB -- insert your table 
WHERE Cursistnr = 2 
0

只需添加一個基本WHERE聲明

SELECT Curs_ID, Cursistnr, payed 
FROM yourtable 
WHERE Cursistnr = 2