SQL - 获取具有相同ID的所有行

时间:2015-06-17 09:17:52

标签: mysql sql phpmyadmin

我正在尝试获取具有相同ID的所有行, 这是表格的一个例子:

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

我想摆脱桌面的是Cursistnr为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获取每一行的所有内容 所以:

Internet,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我只得到第一行。 不知道这里有什么问题

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

只需添加基本WHERE声明

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

答案 2 :(得分: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或空数组(取决于数据库类的内部工作方式)。