如何从输入的数据中获取行号(sql和php)

时间:2016-08-05 07:33:16

标签: php mysql sql row rownum

我已经遇到这个问题了一段时间,我似乎无法在谷歌上找到正确的答案。我不知道我是不是很不走运。

无论如何,如何从我从PHP文本字段输入的特定记录中获取行号,例如:

ID          NAME
11111       john
11112       roger
11113       ellis
11114       jack
11115       wendy

因此,如果我输入11113,则输出将为“此ID在3号”。

这是我的代码:

$id=$_POST['id'];
$query="SELECT COUNT(*) from employee where id like '%$id%'";
$num=mysql_query($query);
echo "this ID is at number $num";

有谁可以指出我哪里出错?

3 个答案:

答案 0 :(得分:0)

以下是一个查询示例,说明如何在不添加其他列计数的情况下执行此操作:

SELECT e.*,b.count FROM employee as e, (SELECT COUNT(*) as count FROM employee WHERE id <= 3) as b WHERE e.id = 3

使用其他选择查询来计算id小于id请求的所有行

或者,如果您只想要没有数据的行的偏移​​量:

SELECT COUNT(*) as count FROM employee WHERE id <= 3

答案 1 :(得分:0)

  1. 首先,您应该从员工表

  2. 中选择*
  3. 然后将结果解析为数组

  4. 扫描上面的数组(步骤2)并找到你的值(11113)

  5. 如果找到(3),则可以返回数组索引。

答案 2 :(得分:0)

第一件事: 您正在使用旧的PHP方法进行数据库,请使用PDO

如果您不想获取最后一个插入ID,则可以通过PDO

捕获它

我不理解您的SQL,因为您希望通过ID过滤来获取ID?当你的ID是INTEGER / NUMBER时,你的陈述是毫无意义的。