Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Не выводятся значения из базы данных (https://javascript.ru/forum/jquery/29434-ne-vyvodyatsya-znacheniya-iz-bazy-dannykh.html)

Quest1984 27.06.2012 19:11

Не выводятся значения из базы данных
 
Здравствуйте! Все по порядку, вот обычный кусок файла .tpl:

...

<span style="color: #2d2d2d; font-size: 9px; float: right;">
Рейтинг: <span><span id="rl-{news_id}"></span></span>
</span>

...

<script type="text/javascript"> 
$(document).ready(function(){ 
setInterval("jQuery('#rl-{news_id}').load('/engine/modules/online_rait.php');",10000);
}); 
</script>


Вот сам файл online_rait.php:

<?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 );
@session_start();
define( 'DATALIFEENGINE', true );
define( 'ROOT_DIR', substr( dirname(  __FILE__ ), 0, -15 ) );
define( 'ENGINE_DIR', ROOT_DIR . '/engine' );
include ENGINE_DIR . '/data/config.php';

require_once ENGINE_DIR . '/classes/mysql.php';
require_once ENGINE_DIR . '/data/dbconfig.php';
require_once ENGINE_DIR . '/modules/functions.php';

if(!defined('DATALIFEENGINE'))die("Hacking attempt!");
if($GLOBALS['row']['allow_rate']){
$template = file_get_contents(TEMPLATE_DIR."/short_rait.tpl");
$yourate = $db->super_query("SELECT rait_report FROM ".PREFIX."_post WHERE id={$GLOBALS['row']['id']}");
$template = str_replace("{newsid}",$GLOBALS['row']['id'],$template);
$template = str_replace("{rait-report}",$yourate['rait_report'],$template);
echo $template;
}

?>


Вот файл short_rait.tpl:

<span id="short_raitB-{newsid}">{rait-report}</span>


По идее должен обновляться каждые 10 секунд блок #rl-{news_id}, но он вроде бы и обновляется, правда никаких данных в нем нет... Пните в правильном направлении, почему этот блок оказывается пустой? Т.е. на странице выводится просто "Рейтинг: " и все... Да, движок DLE

Если в самый первый файл .tpl встроить такую конструкцию {include file="/engine/modules/online_rait.php"}, то рейтинг отображается корректно, но через 10 секунд он исчезает

DjDiablo 28.06.2012 14:56

Этот сайт в инете есть? Иначе едва ли получится разобратся
Больше всего меня интерисует что возвращает /engine/modules/online_rait.php сам по себе
мне почему то кажется что он вернёт или пустой шаблон или вовсе пустую страницу


Особенно сильно меня напрягает $GLOBALS['row']['id']

C DlE не работаю, то что ниже это предположение основанное скорее на интуиции :)
Когда ты подключаешь /engine/modules/online_rait.php в шаблоне, то $GLOBALS['row']['id'] -будет содержать значение, то есть значение этой глобальной переменной будет установлено где то в движке

Но когда ты обращаешся к /engine/modules/online_rait.php напрямую, то я не понимаю откуда в $GLOBALS['row']['id'] возмётся значение. Ведь ты обращаешся к файлу напрямую в обход движка, подключая только некоторые библиотеки.

косвенно в пользу этого предположение свидетельствует что при подключени /engine/modules/online_rait.php из шаблона скрипт срабатывает, а при обращению к файлу напрямую из js неработает.
Если дело вэтом, то просто напросто ID передавай get запросом вместо того чтобы брать из массива глобальных переменных

Quest1984 28.06.2012 19:15

Цитата:

Но когда ты обращаешся к /engine/modules/online_rait.php напрямую, то я не понимаю откуда в $GLOBALS['row']['id'] возмётся значение. Ведь ты обращаешся к файлу напрямую в обход движка, подключая только некоторые библиотеки.
Здесь вы абсолютно правы!

Вы подали свежую идею, хоть какая-то информация за последние 2 дня :)
По поводу
Цитата:

ID передавай get запросом вместо того чтобы брать из массива глобальных переменных
Здесь можно чуть подробнее?

И да, сайт существует в онлайне.

Deff 28.06.2012 19:21

Quest1984,
Ну дык выложите ссылку- после разборок - затрёте

Quest1984 28.06.2012 20:19

http://itelepat.ru

Deff 28.06.2012 23:32

Quest1984,
:no: У мну не открываецо -> Internal Server Error

Quest1984 29.06.2012 05:25

Цитата:

Сообщение от Deff (Сообщение 185096)
Quest1984,
:no: У мну не открываецо -> Internal Server Error

Хостер затеял обновление сервера не вовремя... На данный момент все работает.


Часовой пояс GMT +3, время: 10:09.