Загрузить больше возможностей - PullRequest
0 голосов
/ 10 ноября 2011

Я извлекаю сообщения из базы данных с помощью вызова ajax и отображаю их с помощью jQuery и JSON, и я хочу реализовать функцию загрузки большего количества данных, чтобы пользователи могли видеть больше сообщений без обновления страницы. В своей попытке я жестко закодировал смещение в функции javascript, сделав запрос ajax, поэтому функция продолжала загружать один и тот же пост непрерывно. это контроллер codeigniter

    function latest_pheeds($offset = 0) {
                //Confirm if a user is logged before allowing access
                if($this->isLogged() == true) {
                //Limit
                $limit = 20;
                //user id
                $user_id = $this->session->userdata('user_id');     
                //Load the date helper to calculate time difference between post time and current time
                $this->load->helper('date');
                //Current time(unix timetamp)
                $time = time();
                $pheeds = array();
                    $dt = $this->pheed_model->get_latest_pheeds($limit,$offset);
                    $data = $dt['pheeds'];
                    if($data != false && !empty($data)) {
//total no of pheeds
$total_rows = $dt['total']
                        foreach($data as $pheed) {
                            $row['pheed_id'] = $pheed->pheed_id;
                            $row['user_id'] = $this->user_model->return_username($pheed->user_id);
                            $row['pheed'] = $pheed->pheed;
                            $row['datetime'] = $pheed->datetime;
                            $row['comments'] = $this->comment_model->count_comments($pheed->pheed_id);
                            $row['repheeds'] = $pheed->repheeds;
                            if($this->user_model->is_owner($pheed->pheed_id,$user_id,'pheed'))
                            {
                                $row['owner'] = "yes";
                            }else {
                                $row['owner'] = "no";
                            }
                            if($pheed->avatar == 0)
                            {
                                $row['avatar_src'] = site_url().$this->site_config->get_setting_value('default_avatar_small');
                            }else {
                                $row['avatar_src'] = $pheed->avatar_small;
                            }
                            $pheeds[] = $row;
                        }
                        echo json_encode($pheeds);
                    }
                } else {
                    $this->output->set_status_header('401',"Attempting Unauthorized Access");
                }
            }

Как определить следующее смещение для кодирования в массив json для разбивки на страницы, так как у меня есть общее количество строк для запроса

1 Ответ

0 голосов
/ 10 ноября 2011

Вы можете использовать глобальную переменную javascript и сохранять там счетчик для каждого клика «загрузить больше».для каждого вызова ajax отправлял счет на сервер в виде строки запроса.передать значение счетчика в качестве аргумента вашей функции.Используя этот аргумент значения счетчика, вы можете запросить в базе данных «больше сообщений».

Кстати, что делает функция «get_latest_pheeds»?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...