Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Модули » Как вывести комментарии гостей в модуле iComm?

Как вывести комментарии гостей в модуле iComm?


     20.03.2015    Модули, MySQL    2814

вопрос
Здравствуйте, в модуле вывода последних комментариев iComm - ссылка на модуль, не выводятся комментарии гостей, кто-нибудь знает как исправить?

Ответил: SX2


<?php

@error_reporting ( E_ALL ^ E_WARNING ^ E_NOTICE );
@ini_set ( 'display_errors', true );
@ini_set ( 'html_errors', false );
@ini_set ( 'error_reporting', E_ALL ^ E_WARNING ^ E_NOTICE );

define('DATALIFEENGINE', true);
define('ROOT_DIR', dirname (__FILE__));
define('ENGINE_DIR', ROOT_DIR.'/engine');

include (ENGINE_DIR . '/data/config.php');

include ENGINE_DIR.'/classes/mysql.php';
include ENGINE_DIR.'/data/dbconfig.php';

$row = $db->super_query( "SELECT name FROM " . PREFIX . "_users WHERE name = 'Guest'" );

if( $row['name'] == "" ) {

$db->query("INSERT INTO " . USERPREFIX . "_users (`email`, `password`, `name`, `user_id`, `news_num`, `comm_num`, `user_group`, `lastdate`, `reg_date`, `banned`, `allow_mail`, `info`, `signature`, `foto`, `fullname`, `land`, `favorites`, `pm_all`, `pm_unread`, `time_limit`, `xfields`, `allowed_ip`, `hash`, `logged_ip`, `restricted`, `restricted_days`, `restricted_date`) VALUES
('email@email.email', '123456', 'Guest', 0, 0, 0, 5, '1316152829', '1316152829', '', 1, '', '', '', '', '', '', 0, 0, '', '', '', '', '127.0.0.1', 0, 0, '')");

}

$db->query( "UPDATE " . PREFIX . "_users SET user_id='0' WHERE name = 'Guest'" );

die("<b>Done</b>");

?>

6 комментариев

region029
Юзер

region029 - 21 марта 2015 00:27 -

Можно более подробно. Я так понимаю, что запросом создаём нового пользователя Guest с id=0. Это делается один раз? То есть можно сделать в phpMyAdmin?
Разве нет более рационального решения, ведь в движке выводятся последние комментарии в lastcomments.php, в том числе и комментарии гостей?

SX2
Эксперт

SX2 - 21 марта 2015 00:30 -

Создайте install.php. Скопируйте туда содержимое, то что я дал в ответе. Запустите в браузере, после удалите файл! Все!

Самая сложная часть работы – решиться приступить к ней.

Sander
PHP-developer

Sander - 21 марта 2015 10:05 -

Как вариант, попробуйте заменить запрос в файле icomm.php на этот:
$db->query("SELECT c.id as comid, c.post_id, c.date, c.user_id, c.is_register, c.text, c.autor, c.email, c.approve, p.id, p.date as newsdate, p.title, p.category, p.comm_num, p.alt_name, u.foto, u.user_group, u.user_id FROM " . PREFIX . "_comments as c LEFT JOIN " . PREFIX . "_post as p ON p.id=c.post_id LEFT JOIN " . PREFIX . "_users as u ON c.user_id = u.user_id WHERE c.approve = 1 {$stop_category} {$from_category} ORDER BY c.date DESC LIMIT 0, " . $max_comm);

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

region029
Юзер

region029 - 21 марта 2015 14:08 -

Sander, спасибо, с вашим вариантом sql-запроса всё работает. А он отличается по нагрузке на БД от запроса, который в стандартном варианте в модуле iComm?

Sander
PHP-developer

Sander - 21 марта 2015 15:18 -

Нет. Он лишь отличается по принципу получения данных с разных таблиц. Можете почитать про это mysql left join

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

svarog
Юзер

svarog - 18 мая 2016 05:46 -

Sander, подскажи, а как исправить в этом запросе
            if (!$Comm)
            {
                if(count($this->where) > 0)
                    $this->where = " AND " . implode(" AND ", $this->where);
                else
                    $this->where = "";
                
                if($this->comm_cfg['nav'])
                {    
                    $get_count = $this->db->super_query("SELECT COUNT(c.id) as count FROM " . PREFIX . "_comments as c, " . PREFIX . "_post as p, " . PREFIX . "_post_extras as e, " . PREFIX . "_users as u WHERE p.id=c.post_id AND e.news_id=c.post_id AND c.approve = 1 AND c.user_id = u.user_id {$this->where} ORDER BY c.date DESC");
                    $this->count_all = intval($get_count['count']);
                }

Таже проблема, не выводит комментарии гостей, только модуль другой

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх