Делаю сайт и передо мной стала такая задача-сделать счётчик переходов по ссылке(чтобы считать кол-во просмотров статьи) и выводить кол-во в виде внутри блока. Работаю с Codeigniter. Соответственно имеется : 1.Контроллер Articles Код (Text): class Articles extends CI_Controller { function index() { $this->load->library('pagination'); $config['base_url'] = base_url().'index.php/articles/index/'; $config['total_rows'] = $this->db->count_all('articles'); $config['per_page'] = '2'; $config['full_tag_open'] = "<div class='pagination'>"; $config['full_tag_close'] = '</div>'; $config['first_link'] = 'Первая'; $config['last_link'] = 'Последняя'; $config['prev_tag_open'] = "<div class='prev_1'>"; $config['prev_tag_close'] = '</div>'; $config['next_tag_open'] = "<div class='prev_4'>"; $config['next_tag_close'] = '</div>'; $config['last_tag_open'] = "<div class='prev_2'>"; $config['last_tag_close'] = '</div>'; $config['first_tag_open'] = "<div class='prev_3'>"; $config['first_tag_close'] = '</div>'; $config['num_tag_open'] = "<div class='prev_5'>"; $config['num_tag_close'] = '</div>'; $config['cur_tag_open'] = "<div class='prev_6'>"; $config['cur_tag_close'] = '</div>'; $this->pagination->initialize($config); $this->load->model('articles_model'); $this->load->helper('text'); $data['pages'] = $this->pages_model->get_pages(); $data['pages_dop'] = $this->pages_model->get_pages_dop(); $data['pages_dop2'] = $this->pages_model->get_pages_dop2(); $data['pages_info'] = $this->pages_model->get_pages_info('articles'); $data['categories'] = $this->pages_model->get_cat(); $data['articles'] = $this->articles_model->get_all_articles($config['per_page'],$this->uri->segment(3)); $data['latest_articles'] = $this->pages_model->get_latest_articles(); $data['user'] = $this->session->userdata('user'); $data['user_info']['status'] = $this->session->userdata('status'); $data['user_info']['avatar'] = $this->session->userdata('avatar'); $name = 'articles'; $this->template->page_view($data,$name); } function cat($cat) { $this->load->library('pagination'); $this->load->model('articles_model'); $this->load->helper('text'); $data['pages'] = $this->pages_model->get_pages(); $data['pages_dop'] = $this->pages_model->get_pages_dop(); $data['pages_dop2'] = $this->pages_model->get_pages_dop2(); $data['pages_info'] = $this->pages_model->get_pages_info('articles'); $data['categories'] = $this->pages_model->get_cat(); $data['articles'] = $this->articles_model->get_cat_articles($cat); $data['latest_articles'] = $this->pages_model->get_latest_articles(); $data['user'] = $this->session->userdata('user'); $data['user_info']['status'] = $this->session->userdata('status'); $data['user_info']['avatar'] = $this->session->userdata('avatar'); $name = 'articles'; $this->template->page_view($data,$name); } } 2.Модель Article Код (Text): class Articles_model extends CI_Model { function get_all_articles($num, $offset) { $this->db->order_by('id','desc'); $query = $this->db->get('articles',$num, $offset); return $query->result_array(); } function get_cat_articles($cat) { $this->db->order_by('id','desc'); $this->db->where('category',$cat); $query = $this->db->get('articles'); return $query->result_array(); } function get_article($title) { $this->db->where('title_en',$title); $query = $this->db->get('articles'); return $query->row_array(); } function add_comment($add) { $this->db->insert('comments',$add); } function get_comments($title) { $this->db->order_by('id','desc'); $this->db->where('note_id',$title); $query = $this->db->get('comments'); return $query->result_array(); } } 3. Вид articles_view Код (Text): <div class="middle"> <!--Контейнер--> <div class="container"> <main class="content"><!--Контент--> <?php foreach($articles as $item):?> <div class="articles"> <div class="view_stat"><?=$item['views'];?></div><!--Колличество просмотров--> <div class="zag_stat"><a href="<?=base_url();?>index.php/article/<?=$item['title_en'];?>"><?=$item['title'];?></a></div> <div class="author_stat"><div><?=$item['author'];?></div></div> <div class="date_stat"><div><?=$item['date'];?></div></div> <div class="img_stat"><img src="<?=base_url();?>img/mini_img/<?=$item['mini_img'];?>" alt="<?=$item['title'];?>"/></div> <?$string = $item['text'];?> <div class="text_stat"><p><?=$string = character_limiter($string,780);?><span class="chitat"><a href="<?=base_url();?>index.php/article/<?=$item['title_en'];?>">Читать далее→</a></span></p></div> <div class="both"></div> </div> <?php endforeach;?> <div class="both"></div> <div class="pag"><?php echo $this->pagination->create_links();?></div> </main> </div> Подскажите логику скрипта.В URL передаётся title_en каждой статьи из поля в таблице. Что-то вроде того-в контроллере должно быть событие при нажатии на ссылку(счётчик), в модели происходит обновление строки views, в виде вывод переменной(уже есть)? Я не ошибаюсь? п.с. сильно не серчайте -я новичок)первый динамический сайт... Проделал следующее -В виде добавил селектор(id) для ссылки при клике на которую запуститься функция из модели; -В модели добавил функцию которая добавляет клик к значению в базе; -В контроллере создал условие что при клике на ссылку с селектором add_v происходит запуск функции из модели; Вот код: 1.Вид Код (Text): <a id="add_v" href="<?=base_url();?>index.php/article/<?=$item['title_en'];?>">Читать далее→</a></span></p></div> 2.Модель Код (Text): function add_views($add_v) { $click = $this->db->where('views',$add_v); $new_click = $click + 1; $this->db->insert('articles',$new_click); } 3.Контроллер Код (Text): if($this->input->post('add_v')) { $this->articles_model->add_views($add_v); } Подскажите что не так...сайт пропадает)Профи хэлп Структура таблицы базы
Извиняюсь за свою истерику...вообщем не добавляются просмотры) может функцию в модели неправильно написал? Или в контроллер нужно что-то передать перед условием?или условие написано неверно ?подскажите )
А как по другому помочь? Так человек в своём скрипте легко может найти ошибку. Когда-то он же должен познать основы отладки.
Один только вопрос-я вообще правильно строю условие в контроллере? так можно обращаться к ссылке(через её id)?у input есть атрибут name,который указывается в условии, а у ссылки?вид: Код (Text): <a id="add_v" href="<?=base_url();?>index.php/article/<?=$item['title_en'];?>">Читать далее→</a> условие в контроллере: Код (Text): if($this->input->post('add_v'))
Тогда у меня резонный вопрос-то что в скобках после post-'add_v' это name инпута обычно или нет?я это читаю так-если нажата кнопка 'add_v', то выполнить функцию из модели...так ведь?только у меня ссылка,а не кнопка...правильно? Добавлено спустя 18 секунд: )) Добавлено спустя 19 минут 48 секунд: Понял что чушь пишу)input это класс)