Как использовать метод update() CodeIgniter с предложением WHERE [дубликат]Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как использовать метод update() CodeIgniter с предложением WHERE [дубликат]

Сообщение 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





ОБНОВЛЕНИЕ: в соответствии с просьбой, моя модельная функция 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»