Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы по PHP Как обойтись без запроса в бд?

Как обойтись без запроса в бд?


     16.07.2014    Общие вопросы по PHP, Модули, MySQL    1218

вопрос
Всем привет.
Пишу модуль, и подключаю его так {include file="engine/modules/mymod.php"} в main.tpl
Так вот, модуль работает только при просмотре полной новости. И в нем я использую запрос в бд чтоб достать нужную мне инфу по id етой полной новости.
Вопрос: почему в mymod.php нельзя сразу использовать переменную например $row['category']? Он ее не видит.
Поетому я должен делать запрос $sql = "SELECT category FROM " . PREFIX . "_post WHERE id='".$id."'";
Выходит {include file="engine/modules/mymod.php"} обрабатываеться раньше show.full.php

Ответа пока нет


Комментарии пользователей (6)

rocksmart
64

307 | 115

rocksmart - 16 июля 2014 17:00 - Юзер

Используй глобальную $category_id

lutskboy
3

549 | 103

lutskboy - 16 июля 2014 17:06 - Юзер

Ето я $row['category'] как пример привел. На самом деле мне нужно $row['field'] где field мое поле в таблице dle_post

golden_eagle_god
26

247 | 34

golden_eagle_god - 16 июля 2014 17:10 - Юзер

Советую вам инклудить модуль в init.php
Например вот так:


if($dle_module=="showfull"){
include_once ENGINE_DIR . '/modules/mymod.php';
}


А в модуле, выведите результат работы так:
//Работает скрипт
$tpl->set( '{result}', $result);


Затем с помощью {result} в main будет результат работы.

lutskboy
3

549 | 103

lutskboy - 16 июля 2014 17:16 - Юзер

Наверно так и сделаю. Спасибо за подсказку

golden_eagle_god
26

247 | 34

golden_eagle_god - 16 июля 2014 17:48 - Юзер

Всегда пожалуйста smile

rocksmart
64

307 | 115

rocksmart - 16 июля 2014 17:39 - Юзер

Можно так

/engine/classes/templates.class.php
function load_file( $matches=array() ) {
global $db, $is_logged, $member_id, $cat_info, $config, $user_group, $category_id, $_TIME, $lang, $smartphone_detected, $dle_module,$row;

mymod.php для проверки в полной новости

<?php


echo'<pre>';print_r($row);echo'</pre>';

?>

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

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