• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Помощь Мини Мод своими руками

Статус
В этой теме нельзя размещать новые ответы.

PloSkiY

Постоялец
Регистрация
13 Июл 2009
Сообщения
78
Реакции
2
Ребят мой вопрос явно будет претендовать на самый глупый вопрос на форуме, но подскажите:

задача:
хочу создать страничку в DLE, которая конектиться к БД sql-я и выдирает от туда строки.
DLE 8.5


допустим создал самый убогий скрипт:
Код:
$connection = mysql_connect("localhost", "root", "12345") or die(mysql_error());
mysql_select_db("jabber", $connection);
		
$result = mysql_query("select * from ofvcard", $connection);
и.т.д. ....

Нужно его засунуть на страничку.

Пошел по пути создания мода:
1. создаем файл mod.php с таким содержанием ( вставляем скрипт, и кидаем в ./engine/modules/)

Код:
<?php
/*
=====================================================
имя мода
=====================================================
Данный код защищен авторскими правами
=====================================================
Файл:  mod.php
----------------------------------------------------------
Назначение:  мой мод
=====================================================
*/
if(!defined('DATALIFEENGINE'))
{
  die("Hacking attempt!");
}

                    if (!$module) {

                 $module .= <<<HTML
код скрипта
HTML;
}
$title = 'мой мод';
$tpl->load_template('static.tpl');
$tpl->set('{description}',$title);
$tpl->set('{static}',$module);
$tpl->compile('content');
$tpl->clear();

?>

Как я понял мой конект к базе нужно вставлять вместо:
Код:
 if (!$module) {

                 $module .= <<<HTML
код скрипта
HTML;
}

Но ничего не вышло :nezn:
только в верху между logo идет строка
"it-???????" - это моя запись в таблице, причем которая выглядит it-Иванов


а ещё и кирилица не читается
бд jabber-а кодировки "cp1251_general_ci", dle тоже такой же кодировки

Помогите, Подскажите !! :thenks:
 
Зачем так изощрятся? В DLE есть класс engine/classes/mysql.class.php его и можно использовать.
 
Зачем так изощрятся? В DLE есть класс engine/classes/mysql.class.php его и можно использовать.
Не встречал и не в курсе как это работает

Я просто ламер :nezn:, учусь так сказать...
Мои знания программирования 0,01%
 
В твоём случае это будет
PHP:
$db->query('SELECT * FROM ofvcard');
На так таким запросом ты нечего не вытащишь из базы, поэтому делай так:
PHP:
$db->query('SELECT * FROM ofvcard WHERE 1=1');
Так ты вытащишь из базы всё что в ней есть.

После запроса вставляешь код такого типа:

PHP:
	while ( $row = $db->get_row() ) {
		
		$line = $row['твоё_поле_в_бд'];
		
		$module .= $line;
	}
 
На так таким запросом ты нечего не вытащишь из базы, поэтому делай так:
PHP:
$db->query('SELECT * FROM ofvcard WHERE 1=1');
Сори, можно поподробнее? У меня всё вытаскивает и по перваму варианту... Сейчас модуль F.A.Q. ваюю - выдираю категории бещ всяких WHERE 1=1 :nezn:
DLE 8.3-8.5
 
Вот так примерно делается:
PHP:
<?
######################################################
##############Вася Петров мега модуль.################
###### Назначение: Не нужная хрень ###################
######################################################
// Инклудим MySQL классы. 
include ENGINE_DIR . '/engine/classes/mysql.php'; // Тут не уверен. Вроде в новых версиях все автоматически
//Делаем запрос.
$db->query( "SELECT user_id, name FROM ".PREFIX."_uesrs WHERE user_id = '1'")
$uname = $row['name'];
$tpl->load_template( 'getname.tpl' );
// Можно так
$tpl->set( '{name}', $uname );
// А можно и сразу так
$tpl->set( '{id}', $row['user_id'] );
$tpl->compile( 'content' );
?>
:confused: Примерно так выглядит.
 
Просто у меня данные берутся не из базы DLE, а из левой базы

/engine/classes/mysql.php позволяет подключаться к разным базам ? после присвоив переменную я буду просто дописывать просто модули работы с данной базой ?

Я правильно мыслю?
 
Просто у меня данные берутся не из базы DLE, а из левой базы
/engine/classes/mysql.php позволяет подключаться к разным базам ? после присвоив переменную я буду просто дописывать просто модули работы с данной базой ?
Я правильно мыслю?
Нет, ты будешь работать с той базой, которая прописана в engine/data/dbconfig.php
Но со всей БД (не только dle_шные таблички)
 
Сори, можно поподробнее? У меня всё вытаскивает и по перваму варианту... Сейчас модуль F.A.Q. ваюю - выдираю категории бещ всяких WHERE 1=1 :nezn:
DLE 8.3-8.5

Сейчас уже не помню что да как, но знаю что раньше точно было что если делать без WHERE 1=1 или какого-нить аналога он не выбирал нечего из базы.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху