Спасибо за раздачу и оценка релиза

vitalix

Пользователь
vitalix эти поля в другой таблице - таблица значит не подключена раз ничего нет.
Код:
#-----[ SQL QUERY ]---------------------------------
#
ALTER TABLE `bb_attachments_desc` ADD (
`thanks` mediumint( 8 ) NOT NULL default '0',
`rating_sum` int(11) NOT NULL default '0',
`rating_count` mediumint(8) NOT NULL default '0'
);

CREATE TABLE `bb_attachments_rating` (
  `attach_id` mediumint(8) unsigned NOT NULL default '0',
  `user_id` mediumint(9) NOT NULL default '0',
  `thanked` tinyint(1) NOT NULL default '0',
  `rating` tinyint(1) NOT NULL default '0',
  PRIMARY KEY  (`attach_id`,`user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

#
1a52cfb2c9e805007982a2129d556553.png
Вроде всё выполнено как в инстале.
 
Последнее редактирование модератором:

Exile

Администратор
Вроде всё выполнено как в инстале.
Ну я вот вижу в строке вставленной в phpmyadmin (что вообще ожидалось от вставленного php-кода?) запрос только к одной таблице - bb_attachments_desc, bb_attachments_rating в которой находятся два проблемные поля не подключается и эти два поля из нее не запрашиваются. В запросе должен быть как минимум LEFT JOIN второй таблицы.
 

Exile

Администратор
vitalix а может мод внимательнее ставить надо?
PHP:
#
#-----[ OPEN ]---------------------------------
#
attach_mod/includes/functions_attach.php

                 
#
#-----[ FIND ]---------------------------------
#

    $sql = 'SELECT a.post_id, d.*
        FROM ' . BB_ATTACHMENTS . ' a, ' . BB_ATTACHMENTS_DESC . " d
        WHERE a.post_id IN ($post_id_array)
            AND a.attach_id = d.attach_id
        ORDER BY d.filetime $display_order";

#
#-----[ REPLACE WITH ]---------------------------------
#

    $sql = 'SELECT a.post_id, d.*'. ($user_id==ANONYMOUS ? '' : ', r.thanked, r.rating') .'
        FROM ' . BB_ATTACHMENTS . ' a join ' . BB_ATTACHMENTS_DESC . " d on a.attach_id = d.attach_id"
        . ($user_id==ANONYMOUS ? '' : ' left join ' . BB_ATTACHMENTS_RATING . ' r on r.attach_id=a.attach_id and r.user_id=' . $user_id) ."
        WHERE a.post_id IN ($post_id_array)
        ORDER BY d.filetime $display_order";
 

PheRum

Легенда
vitalix открою тайну, этот мод скоро вообще работать не будет. так что особо замарачиваться и пытаться что-то улучшить в нем бессмысленно.
так сделай, чтоб нотисы не кидало, этого вполне будет достаточно
Код:
//Thanks mod
$rating_sum     = @$attachments['_'. $post_id][$i]['rating_sum'];
$rating_count   = @$attachments['_'. $post_id][$i]['rating_count'];
$your_vote      = @$attachments['_'. $post_id][$i]['rating'];
$thanks         = @$attachments['_'. $post_id][$i]['thanks'];
$thanked        = @$attachments['_'. $post_id][$i]['thanked'];
//End
 
Сверху