如何使用codeigniter$query->;next_row()


How to use codeigniter $query->next_row()

我有以下控制器

controller

function bret($id){
$this->load->model('school_model');
$data = $this->school_model->get_city_and_population($id);
foreach ($data as $row)
{
echo "<b>Name Of The City</b>...........". $row['Name'];
echo "<br/>";
echo "<b>Total Population</b>...........".$row['Population'];
//echo "<a href='".$data->next_row()."'>next</a>";
}
}

model

function get_city_and_population($id){
$this->db->select('Name,Population');
$query = $this->db->get_where('city', array('ID'=>$id));
return $query->result_array();
}

在我使用的数据库中,ids不是连续的,因为我已经删除了一些记录。如何使用$row = $query->next_row()转到下一行?。

这可能是最糟糕的™;有效的解决方案。现在有点晚了,我需要这个来不惜一切代价工作。我马上就要睡觉了,所以我有点高兴。

Model

function get_next($id){
$db = new PDO('mysql:host=localhost;dbname=world', 'root', '');
$stmt = $db->query("SELECT * FROM city WHERE id > $id ORDER BY id LIMIT 1;");
$id = $stmt->fetchColumn(0);
if ($id !== false) {
    return $id;
}
}
function get_previous($id){
$db = new PDO('mysql:host=localhost;dbname=world', 'root', '');
$stmt = $db->query("SELECT * FROM city WHERE id < $id ORDER BY id DESC LIMIT 1;");
$id = $stmt->fetchColumn(0);
if ($id !== false) {
    return $id;
}
}

Controller

function bret($id){
$this->load->model('school_model');
$data = $this->school_model->get_city_and_population($id);
$next = $this->school_model->get_next($id);
$previous = $this->school_model->get_previous($id);
foreach ($data as $row)
{
echo "<b>Name Of The City</b>...........". $row['Name'];
echo "<br/>";
echo "<b>Total Population</b>...........".$row['Population'];
echo "<br/>";
echo "<a href='".$next."'>next</a>";
echo "<br/>";
echo "<a href='".$previous."'>previous</a>";
}
}

我正试图在codeigniter数据库类而不是pdo中找到一种实现这一点的方法。