在php中选择特定的sql行

时间:2012-12-12 04:29:52

标签: php mysql

我正在尝试访问数据库表,这个表将有100多条记录,我想选择特定的行(通过它们的唯一ID)。这是我的一些PHP代码...

<?php

function connect() {
  $conn = new mysqli('localhost', 'root', 'pass', 'db') or die('There was a problem connecting to the db');
  return $conn;
}

function get($conn) {
  $stmt = $conn->prepare("SELECT * FROM camera") or die('There is a problem with the connection');
  $stmt->execute();
  $stmt->bind_result($id, $camera_id, $name, $location, $camera_status, $contact_name, $contact_phone);

  $rows = array();

  while($row = $stmt->fetch()) {
    $item = array(
             'id' => $id,
      'camera_id' => $camera_id,
           'name' => $name,
       'location' => $location,
  'camera_status' => $camera_status,
   'contact_name' => $contact_name,
  'contact_phone' => $contact_phone
);
$rows[] = $item;
  }
  return $rows;
}

$conn = connect();
$results = get($conn);

?>

每页将有9个结果,这些结果必须手动编码。我能够在数据库中显示所有结果,但我希望能够选择9个独特的结果,显示行的内容以及提供编辑条目的方法。唯一标识符将是他们的$ id。

在php中选择这些行的最简单方法是什么?

提前致谢!

学家

5 个答案:

答案 0 :(得分:1)

在查询特定行时使用limit,例如此示例

SELECT * FROM camera limit 0,9

http://dev.mysql.com/doc/refman/5.0/en/select.html

答案 1 :(得分:1)

使用限制

$start= 0; $end=9; //you can make $start =10; $end=9; for next run and so on..
SELECT * FROM camera limit "'.$start.'","'.$end.'"

答案 2 :(得分:1)

您可以使用limit选择所需的行,然后使用order by按ID进行排序。 首先limit 0, 9然后在第二次加载时使用limit 9,9,依此类推。

答案 3 :(得分:1)

限制应该在where子句之后。

语法:

SELECT column_name(s)
FROM table_name
[WHERE]
LIMIT number;

http://www.postgresql.org/docs/9.0/static/sql-select.html

答案 4 :(得分:0)

我使整个脚本动态加载结果(使用foreach循环),而不必手动添加它们。最初我想手动添加行,因为视频流将限制为基于每个客户端,所以我只是添加了一个额外的数据库列来解决这个问题。

我仍然限制每页9个Feed,所以我将使用limit功能,感谢您的帮助和反馈!