Я закончил руководство по созданию новостного приложения в руководстве пользователя codeigniter. Сейчас я пытаюсь расширить веб-сайт учебника, чтобы он загружал текст в текстовую область, которую можно перепечатать и использовать для обновления записи. Я хочу, чтобы страница просмотра статьи была той же самой страницей для обновления. Представление загружается правильно, но когда я нажимаю «Отправить», оно переносит меня с localhost/ci/news/foo на localhost/ci/news/view вместе с ошибкой 404. В основном я пытался имитировать создание и только изменял запрос модели, но, поскольку я некоторое время боролся с этим, попробовал несколько идей.
Я подозреваю, что проблема может быть одной из следующих.
Что-то направляет меня на ci/news/view
Неправильное использование переменной $slug
Неправильное соединение контроллера и модели
Синтаксис в моем запросе модели.
Я опубликую весь соответствующий код.
Вот моя функция контроллера для представления, где также будут происходить обновления.
public function view($slug)
{
$this->load->helper('form');
$this->load->library('form_validation');
$data['news_item'] = $this->news_model->get_news($slug);
$slug = $slug;
$this->form_validation->set_rules('text', 'text', 'required');
if (empty($data['news_item'])) {
show_404();
}
$data['title'] = $data['news_item']['title'];
if ($this->form_validation->run() === false) {
$this->load->view('templates/header', $data);
$this->load->view('news/view', $data);
$this->load->view('templates/footer');
} else {
$this->news_model->update_news();
$this->load->view('news/success');
}
}
Вот мой метод update_news() в модели
public function update_news($slug)
{
$data = array(
'slug' => $slug,
'text' => $this->input->post('text')
);
$this->db->set('slug', $slug);
$this->db->update('news', $data);
}
и мой view.php
Text
ОБНОВЛЕНИЕ: в соответствии с просьбой, моя модельная функция get_news.
public function get_news($slug = false)
{
if ($slug === false) {
$query = $this->db->get('news');
return $query->result_array();
}
$query = $this->db->get_where('news', array('slug' => $slug));
return $query->row_array();
}
Подробнее здесь: https://stackoverflow.com/questions/257 ... ere-clause
Как использовать метод update() CodeIgniter с предложением WHERE [дубликат] ⇐ Php
Кемеровские программисты php общаются здесь
1760750716
Anonymous
Я закончил руководство по созданию новостного приложения в руководстве пользователя codeigniter. Сейчас я пытаюсь расширить веб-сайт учебника, чтобы он загружал текст в текстовую область, которую можно перепечатать и использовать для обновления записи. Я хочу, чтобы страница просмотра статьи была той же самой страницей для обновления. Представление загружается правильно, но когда я нажимаю «Отправить», оно переносит меня с localhost/ci/news/foo на localhost/ci/news/view вместе с ошибкой 404. В основном я пытался имитировать создание и только изменял запрос модели, но, поскольку я некоторое время боролся с этим, попробовал несколько идей.
Я подозреваю, что проблема может быть одной из следующих.
Что-то направляет меня на ci/news/view
Неправильное использование переменной $slug
Неправильное соединение контроллера и модели
Синтаксис в моем запросе модели.
Я опубликую весь соответствующий код.
Вот моя функция контроллера для представления, где также будут происходить обновления.
public function view($slug)
{
$this->load->helper('form');
$this->load->library('form_validation');
$data['news_item'] = $this->news_model->get_news($slug);
$slug = $slug;
$this->form_validation->set_rules('text', 'text', 'required');
if (empty($data['news_item'])) {
show_404();
}
$data['title'] = $data['news_item']['title'];
if ($this->form_validation->run() === false) {
$this->load->view('templates/header', $data);
$this->load->view('news/view', $data);
$this->load->view('templates/footer');
} else {
$this->news_model->update_news();
$this->load->view('news/success');
}
}
Вот мой метод update_news() в модели
public function update_news($slug)
{
$data = array(
'slug' => $slug,
'text' => $this->input->post('text')
);
$this->db->set('slug', $slug);
$this->db->update('news', $data);
}
и мой view.php
Text
[b]ОБНОВЛЕНИЕ:[/b] в соответствии с просьбой, моя модельная функция get_news.
public function get_news($slug = false)
{
if ($slug === false) {
$query = $this->db->get('news');
return $query->result_array();
}
$query = $this->db->get_where('news', array('slug' => $slug));
return $query->row_array();
}
Подробнее здесь: [url]https://stackoverflow.com/questions/25769993/how-to-use-codeigniters-update-method-with-a-where-clause[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия