Как ПОЛУЧИТЬ количество сообщений для каждой категории типа Category_post с помощью Codeigniter (запрос group_by)?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как ПОЛУЧИТЬ количество сообщений для каждой категории типа Category_post с помощью Codeigniter (запрос group_by)?

Сообщение Anonymous »

Привет, команда Stackoverflow, я работаю над проектом с использованием Codeigniter и хочу отобразить следующие данные, показывая количество данных в режиме реального времени.
У меня есть ТАБЛИЦА с именем POST, которая содержит идентификатор, заголовок, контент, идентификатор_категории
и ТАБЛИЦА с именем CATEGORY, которая содержит идентификатор, имя_категории, тип_категории.
Поэтому я хотел бы отобразить общее количество POSTS, записанных для каждой КАТЕГОРИИ, выбранной в запрос, потому что таблица CATEGORY используется для других таблиц, поэтому я хочу иметь только категории, которые относятся к POSTS, но когда я отправляю данные в представление, я получаю следующую ошибку:
Серьезность: предупреждение
Сообщение: oci_execute(): ORA-00979: не группа по выражению GROUP BY.
//UPDATE:!
Так что после редактирования кода модели как предложенный, я получаю следующий код ошибки
Сообщение: oci_execute(): ORA-00936: отсутствует выражение
Возможно, у меня проблемы с JOIN и GROUP_BY, а также трудности с отображением данных в VIEW
здесь изображение того, как я хочу иметь данные,
любая помощь будет оценена
Спасибо за вашу помощь, мое уважение
Изображение

вот моя модель
class My_model extends CI_Model {

function get_post_by_category() {
$q = $this->db->select(' POST.CATEGORY_ID, CATEGORY.CATEGORY_NAME, COUNT(POST.CATEGORY_ID) as total_posts, COUNT(POST.CATEGORY_ID)/COUNT(*) * 100 as percentage')
->from('POST')
->join('CATEGORY', 'POST.CATEGORY_ID= CATEGORY.ID', 'left')
->where('CATEGORY.CATEGORY_TYPE', 'TYPE_POST')
->group_by('POST.CATEGORY_ID, CATEGORY.CATEGORY_NAME')
->order_by('POST.CATEGORY_ID', 'ASC')
->get();
return $q->result();
}
}

вот мой контроллер
public function __construct() {
parent::__construct();
$this->load->model('My_model');
}

function index() {
$this->load->model('My_model');
//config
$config['base_url'] = base_url('/?c=ui_page');
//load the method of model
$data['countdata']=$this->My_model->get_post_by_category();
//return the data in view
$this->load->view('data/my_view', $data);
}

вот мое мнение



CATEGORY NAME
Total POSTS
%




%






Подробнее здесь: https://stackoverflow.com/questions/736 ... sing-codei
Ответить

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

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

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

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

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