1

CodeIgniter 2.1.3PHPおよびを使用しMySQLます。

こんにちは、データベースからデータを表示したいです。いつもは で表示してforeach($results as $data)いますが、今はすべてのデータをいくつかのステップで表示したいです。最初のレコードを表示し、ユーザーがクリックするとnextデータベースから次の行を表示します。mysql_fetch_row() を使用する必要があるので、どうすればよいかわかりません... これが私のモデルです:

public function play($limit, $start) {
    $this->db->limit($limit, $start);
    $query = $this->db->get("quiz");
if ($query->num_rows() > 0) {
        foreach ($query->result() as $row) {
            $data[] = $row;
        }
        return $data;
    }
    return false;
}

コントローラー:

public function index()
{
    $config = array();
    $config["base_url"] = base_url() . "index.php/main_menu/Quiz/index";
    $config["total_rows"] = $this->quiz_model->record_count();
    $config["per_page"] = 11;
    $config["uri_segment"] = 4;

    $this->pagination->initialize($config);
    $page = ($this->uri->segment(4)) ? $this->uri->segment(4) : 0;
$data["results"] = $this->quiz_model->play($config["per_page"], $page);
    $data["links"] = $this->pagination->create_links();
    $this->load->view('left_column/quiz_open', $data);
}

ページネーションは重要ではありません。

および表示:

<form>
    <?php
    if (empty($results)) {

    }
    else {
    foreach($results as $data) { ?>

        <label style='width:450px;'> <b>  &nbsp <?php echo $data->pytanie?> </b> </label>
        <label style='width:300px;'> <input type="radio" name="Wiek" value=<?php echo $data->odp1 ?> /> <?php echo $data->odp1 ?> </label>
        <label style='width:300px;'> <input type="radio" name="Wiek" value=<?php echo $data->odp2 ?> /> <?php echo $data->odp2 ?> </label>
        <label style='width:300px;'> <input type="radio" name="Wiek" value=<?php echo $data->odp3 ?> /> <?php echo $data->odp3 ?> </label> 


        <?php }
        }?>
        <label style='width:300px;'>    <input type="submit" name="Wyslij" id="Wyslij" value="&nbsp Wyślij &nbsp"/> </label> 
        </form>
4

1 に答える 1

0

codeIgniter によって提供される組み込みの Pagination クラスがあります。ユーザーガイドで見つけることができます。

ページネーションをゼロとして使用する関数で開始インデックス変数を定義します。

public function pagination($start_index = 0)
{

 $result = $this->model->get_results($data); //this $data is the argument which you are passing to your model function. If you are using database to get results array.

 $items_per_page = 10;   //this is constant variable which you need to define

 $filtered_result = array_splice($result, $start_index, ITEM_PER_PAGE_USERS);

 $model['$filtered_result'] = $filtered_result;

 $total_rows = count($result);

 $model['page_links'] = create_page_links (base_url()."/controlelr_name/pagination",ITEM_PER_PAGE_USERS, $total_rows);

 $this->load->view('controller_name/view_file_name', $model);
}

これは、ページネーションの一般化された関数です。この関数は、すべての一般化された関数を保持する 1 つのヘルパー ファイルに保持できます。

function create_page_links($base_url, $per_page, $total_rows)
{

 $CI = & get_instance();
 $CI->load->library('pagination');

 $config['base_url'] = $base_url;
 $config['total_rows'] = $total_rows;
 $config['per_page'] = $per_page; 

 $CI->pagination->initialize($config); 

 return $CI->pagination->create_links();
}

このページ リンク作成機能は一般的な機能です......詳細については、ユーザー ガイドのページネーション クラスを確認してください......

于 2012-12-14T14:18:33.590 に答える