Как перейти к следующим записям в соответствии с рекно в codeigniter - PullRequest
0 голосов
/ 05 декабря 2018

У меня есть четыре кнопки: первая, последняя, ​​предыдущая и следующая, если пользователь нажимает на первую кнопку, то должно отображаться минимальное значение recno, а если пользователь нажимает следующее, то minof next не должно отображать никаких записей.Моя проблема в том, что я не получил никакой ошибки, и у меня есть четыре кнопки .. (Первая, следующая, предыдущая, последняя) ни одна из кнопок не работает .. Помогите мне перейти к следующим записям в соответствии с recno .. Спасибозаранее .... Это код моего контроллера:

    $first = $this->db->query('SELECT MIN(recno) AS `first` FROM `daybook` ORDER BY recno DESC LIMIT 1')->row_array();

        $firstID = $this->db->query("SELECT * FROM `daybook`  where recno='$first[first]' ORDER BY recno ASC")->result_array();
        //$firstID = $firstIDQuery->result_array();
         $last = $this->db->query('SELECT MAX(recno) AS `last` FROM `daybook` ORDER BY recno DESC LIMIT 1')->row_array();
        $lastID = $this->db->query("SELECT * FROM `daybook` where recno='$last[last]'  ORDER BY recno")->result_array();
        //$lastID = $lastIDQuery->result_array();

        $id = 1;
        if(!empty($id)){
       $result = $this->db->query("SELECT * FROM daybook WHERE recno = $id")->result_array();
   }
            //$result = $resultQuery->result_array();

        $data['currentID'] = $id;
        $data['firstID'] = $first;
        $data['lastID'] = $last;
        $data['result'] = $result;
        $this->load->view('BookKeeping/DayBookEntry', $data, FALSE);

Это страница моего просмотра:

 <ul class='pagination'>
        <a href='<?php echo base_url().'/BookKeeping/daybook/'.$firstID; ?>' class='button'>First</a><br>
        <?php
            if($currentID != $firstID){
                foreach ($result as $next_key => $next_value) {
                    if($currentID == $next_value['recno']){
                        $nextID = $result[$next_key]++;
                    }
                }}
        ?>
            <a href='<?php echo base_url().'/BookKeeping/daybook/'.$nextID['recno']; ?>' class='button'>Next</a><br>
        <?php
            if($currentID != $lastID){
                foreach ($result as $prev_key => $prev_value) {
                    if($currentID == $prev_value['recno']){
                        $prevID = $result[$prev_key]--;
                        }
}}
        ?>


            <a href='<?php echo base_url().'/BookKeeping/daybook/'.$prevID['recno']; ?>' class='button'>Previous</a><br>
        <a href='<?php echo base_url().'/BookKeeping/daybook/'.$lastID; ?>' class='button'>Last</a><br>
    </ul>

Это печатает правильное значение в первом, последнем, следующем, предварительно я проверилэто с помощью print_r (exp) .. и моя проблема заключается в том, как отобразить его в ссылке (ссылки href)

Ответы [ 2 ]

0 голосов
/ 08 декабря 2018

Рабочий ответ Код контроллера:

$first = $this->db->query('SELECT MIN(recno) AS `first` FROM `daybook` ORDER BY recno DESC LIMIT 1')->row_array();

    $firstID = $this->db->query("SELECT * FROM `daybook`  where recno='$first[first]' ORDER BY recno ASC")->result_array();
    //$firstID = $firstIDQuery->result_array();
    $last = $this->db->query('SELECT MAX(recno) AS `last` FROM `daybook` ORDER BY recno DESC LIMIT 1')->row_array();
    $lastID = $this->db->query("SELECT * FROM `daybook` where recno='$last[last]'  ORDER BY recno")->result_array();
    //$lastID = $lastIDQuery->result_array();

    //$id = 1;
    if(!empty($id)){
        $result = $this->db->query("SELECT * FROM daybook WHERE recno = $id")->row_array();
    }else{
        $result = "";
    }

    $allData = $this->db->query("SELECT * FROM daybook ORDER BY recno ASC")->result_array();

        //$result = $resultQuery->result_array();

    if(!empty($id)){
        $data['currentID'] = $id;
    }else {
        $data['currentID'] = $first['first'];
    }
    $data['firstID'] = $first;
    $data['lastID'] = $last;
    $data['result'] = $result;
    $data['allData'] = $allData;

Просмотр страницы:

 <a href='<?php echo base_url().'/BookKeeping/daybook/'.$firstID['first']; ?>' class='button'><i class="icon-first">First</i></a><br><br>
                                <?php
                                    if($currentID != $lastID['last']){
                                        foreach ($allData as $next_key => $next_value) {
                                            //echo $next_key+1;
                                            //echo '<pre>';print_r($next_value);exit();
                                            if($currentID == $next_value['recno']){
                                               $nextID = $allData[$next_key+1];

                                            }
                                        }
                                        $anchorTagNext = base_url().'/BookKeeping/daybook/'.$nextID['recno'];
                                    }else {
                                        $anchorTagNext = '#';
                                    }
                                ?>
                                    <a href='<?php echo $anchorTagNext; ?>' class='button'><i class="icon-next">Next</i></a><br><br>
                                <?php
                                    if($currentID != $firstID['first']){
                                        foreach ($allData as $prev_key => $prev_value) {
                                            //echo '<pre>';print_r($prev_value);exit();

                                            if($currentID == $prev_value['recno']){
                                                //echo $allData[$prev_key-1]['recno'];exit();
                                               $prevId = $allData[$prev_key-1];
                                            }
                                        }
                                        $anchorTagPrevious = base_url().'/BookKeeping/daybook/'.$prevId['recno'];
                                    } else {
                                        $anchorTagPrevious = '#';
                                    }
                                ?>
                                <a href='<?php echo $anchorTagPrevious; ?>' class='button'><i class="icon-previous">Previous</i></a><br><br>
                                <a href='<?php echo base_url().'/BookKeeping/daybook/'.$lastID['last']; ?>' class='button'><i class="icon-last">Last</i></a>
</ul>
0 голосов
/ 05 декабря 2018

Вы неправильно используете одинарные кавычки во всем, вместо того, чтобы использовать комбинацию одинарных и двойных кавычек, где это уместно, что портит ваши ссылки, создаваемые правильно.

Вместо

<a href='<?php echo base_url().'/BookKeeping/daybook/'.$nextID['recno']; ?>' class='button'>Next</a><br>

Попробуйте

 <a href="<?php echo base_url('BookKeeping/daybook/'.$nextID['recno']; ?>" class="button">Next</a>
...