CodeIgniter row_array() никогда не выдает более одной строки [дубликат]Php

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

Сообщение Anonymous »

Я использую построитель запросов PHP, MySQL и CodeIgniter. Я пытаюсь повторить все комментарии к новости. Текущая версия ниже наиболее близка к рабочей. Он дает мне самый ранний комментарий четыре раза. Когда я захожу в модель и меняю по возрастанию на убыль, я получаю последний комментарий четыре раза.
Просмотр


Да, я понимаю, что мне следует повторить строку, вот так.


Но это дает мне «недопустимое смещение строки» как для имени, так и для текста, четыре раза для каждого, что, по-видимому, предполагает, что $row содержит строку, а не массив. Я понятия не имею, почему он все еще пытается повторить один и тот же комментарий четыре раза. Их всегда четыре, независимо от того, сколько комментариев на самом деле у меня в базе данных.
Контроллер
public function view($slug)
{
$this->load->helper('form');
$this->load->library('form_validation');
$data['news_item'] = $this->news_model->get_news($slug);
$data['comments'] = $this->news_model->get_news_comments($slug);
$this->form_validation->set_rules('name', 'Name', 'required');
$this->form_validation->set_rules('text', 'text', 'required');

if (empty($data['news_item']))
{
show_404();
}

$data['title'] = $data['news_item']['title'];
$slug = $data['news_item']['slug'];

if ($this->form_validation->run() === FALSE)
{
$this->load->view('templates/header', $data);
$this->load->view('news/view', $data);
$this->load->view('templates/rowter');
}
else
{
$this->news_model->set_news_comment($slug);
$this->load->view('news/success');
}
}

Модель
public function get_news_comments($slug)
{
$this->db->order_by("id", "asc");
$query = $this->db->get_where('news_comments', array('news' => $slug));
return $query->row_array();
}

Если вы знаете, что я делаю неправильно, помогите мне. Кроме того, я хотел бы знать, почему что-то идет не так, и почему одна и та же строка повторяется четыре раза.
While/foreach Loops, возвращающий четыре одной и той же строки
, несколько похоже, но не помогло.
ОБНОВЛЕНИЕ 1:
print_r($comments); дает я
Array ( [id] => 7 [name] => Mos Def [text] => And you call yourselves intellectuals [news] => tribe )

var_dump($comments); дает мне
array (size=4)
'id' => string '7' (length=1)
'name' => string 'Mos Def' (length=7)
'text' => string 'And you call yourselves intellectuals' (length=37)
'news' => string 'tribe' (length=5)

Это объясняет, почему одна и та же строка повторяется четыре раза, но я все еще не понимаю, как включить массив со всеми соответствующими комментариями, а не только один. У меня такое ощущение, что проблема в моей модели. Начну изучать дальше.
var_dump($row);
string 'tribe' (length=5)


Подробнее здесь: https://stackoverflow.com/questions/259 ... an-one-row
Ответить

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

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

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

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

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