我正在尝试将一些古老的代码转换为普通的PHP标准(我已经阅读了有关mysql函数的问题......),我使用Codeigniter作为我的框架,这是原始代码:
$query_pag_data = "SELECT id,name from messages LIMIT $start, $per_page";
$result_pag_data = mysql_query($query_pag_data) or die('MySql Error' . mysql_error());
$msg = "";
while ($row = mysql_fetch_array($result_pag_data)) {
$htmlmsg=htmlentities($row['message']);
$msg .= "<li><b>" . $row['msg_id'] . "</b> " . $htmlmsg . "</li>";
}
$msg = "<div class='data'><ul>" . $msg . "</ul></div>"; // Content for Data
这是我的尝试:
$this->load->model("main_model");
$result=$this->main_model->user_list($start, $per_page);
$msg = "";
foreach ($result->result() as $row){
$htmlmsg = htmlentities($row->name);
$msg .= "<li><b>" . $row->id . "</b> " . $htmlmsg . "</li>";
}
$msg = "<div class='data'><ul>" . $msg . "</ul></div>"; // Content for Data
我的模特:
function user_list($start, $per_page) {
$query = $this->db->get('users', $start, $per_page);
return $query;
}
这不能正常工作,我相信它与while和mysql_fetch_array如何工作有关,我尝试了一些带有while循环的解决方案,但似乎没有到达那里。
更多信息:这是针对ajax分页功能,我上面的尝试加载了结果,但是foreach循环现在正在下一页加载以前的结果。
答案 0 :(得分:2)
试试这个:
function user_list($start, $per_page) {
$query = $this->db->get('users', $per_page, $start);
// flip $start/$per_page from your code
return $query;
}