3

古いコードを通常の 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 ループは次のページで以前の結果をロードしています。

4

1 に答える 1

2

これを試して:

function user_list($start, $per_page) {
   $query = $this->db->get('users', $per_page, $start);
   // flip $start/$per_page from your code
   return $query;
}
于 2013-01-28T12:31:56.237 に答える