А как мне в таком виде это преподать, просто по другому ядро движка ошибку выдает.SELECT T.* FROM (SELECT * FROM `message` WHERE message_type = 0 AND to_member_id_common = $_SESSION['member_id'] ORDER BY message_id DESC) AS T GROUP BY T.message_parent_id;
Ану попробуй такой запрос), подправь чтобы $_SESSION['member_id'] была переменной
public function listMessage($condition,$page='') {
$condition_str = $this->getCondition($condition);
$param = array();
$param['table'] = 'message';
$param['where'] = $condition_str;
$message_list = Db::select($param,$page);
return $message_list;
}
нене, ты попробуй через phpMyAdmin, оно правильно работает? то что надо выдает?А как мне в таком виде это преподать, просто по другому ядро движка ошибку выдает.
]
Не понял. Я такого еще не делал. Это как?нене, ты попробуй через phpMyAdmin, оно правильно работает? то что надо выдает?
ну ты откуда картинку таблицы в БД взял?Не понял. Я такого еще не делал. Это как?
SQL запрос что ли сделать? А вместо этого $_SESSION['member_id'] что поставить ID юзера?ну ты откуда картинку таблицы в БД взял?
угуSQL запрос что ли сделать? А вместо этого $_SESSION['member_id'] что поставить ID юзера?
Выдает вроде то что нужно.
Это два разных последних сообщения в двух разных ветках
Хорошо, а теперь подумай как, ты такой запрос запихнешь в свой фреймворк, подумай много ли запросов таких сможешь сам создать( а они тебе понадобяться ) И еще это они еще без пагинации(но то мелочь). Если всё ок, ищи в фреймворке как как отправить пользовательский запрос и вставляй этот бред). Если не всё ок, перепиши свое задание и создай нормальную/нормальные таблицы чтобы можно было легко с ними работать.Выдает вроде то что нужно.
Ага. Обрадовал!) Сейчас попробую. Благодарю за помощь.Хорошо, а теперь подумай как, ты такой запрос запихнешь в свой фреймворк, подумай много ли запросов таких сможешь сам создать( а они тебе понадобяться ) И еще это они еще без пагинации(но то мелочь). Если всё ок, ищи в фреймворке как как отправить пользовательский запрос и вставляй этот бред). Если не всё ок, перепиши свое задание и создай нормальную/нормальные таблицы чтобы можно было легко с ними работать.
Кароче) я намекал на то чтобы ты переписал по новой базу данных, ну или отказался бы от того что во входящих тебе выводит последнее сообщение-ответ вместо самого сообщения(корневого)Ага. Обрадовал!) Сейчас попробую. Благодарю за помощь.
Это дофига делов переписывать так как с ней связано много. Если хочешь можешь посмотреть сайт http://kadamas.ru/. А если выводить корневое то тогда не будет показано что оно не прочитано.Кароче) я намекал на то чтобы ты переписал по новой базу данных, ну или отказался бы от того что во входящих тебе выводит последнее сообщение-ответ вместо самого сообщения(корневого)
В общем столкнешся с еще одной проблемой в сообщениях, не пытайся её решить - перепиши БДЭто дофига делов переписывать так как с ней связано много. Если хочешь можешь посмотреть сайт http://kadamas.ru/. А если выводить корневое то тогда не будет показано что оно не прочитано.
Например?В общем столкнешся с еще одной проблемой в сообщениях, не пытайся её решить - перепиши БД
А что так не проканает?В общем столкнешся с еще одной проблемой в сообщениях, не пытайся её решить - перепиши БД
class messageModel extends Model{
public function __construct(){
parent::__construct('message');
}
public function listMessage($condition,$page='') {
$condition_str = $this->getCondition($condition);
$param = array();
$param['table'] = 'message';
$param['where'] = $condition_str;
$message_list = Db::select($param,$page);
return $message_list;
}
public function listMessageArray($condition, $page='', $field='*', $order = 'message_parent_id desc') {
return $this->table('message')->field($field)->where($condition)->group(message_parent_id)->order($order)->page($page)->select();
}
}
public function messageOp() {
Language::read('member_home_message');
$model_message = Model('message');
$page = new Page();
$page->setEachNum(10);
$page->setStyle('admin');
$message_list_array = $model_message->listMessage(array('message_type'=>'0','to_member_id_common'=>$_SESSION['member_id'],'no_message_state'=>'2'),$page);
if(!empty($message_list_array)){
$message_parent_id = array();
foreach($message_list_array as $key => $val){
$message_time[$val['message_parent_id']] = $val['message_time'];
$message_parent_id[] = $val['message_parent_id'];
}
$message_time[] = max($message_time);
$message_time = array_unique($message_time);
$message_parent_id = array_unique($message_parent_id);
$condition = array();
$condition['message_parent_id'] = array('in', $message_parent_id);
$condition['to_member_id'] = $_SESSION['member_id'];
$condition['message_time'] = array('in', $message_time);
$message_array = $model_message->listMessageArray($condition,$page);
}
Tpl::output('message_array',$message_array);
Tpl::showpage('message_box');
}