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

Вывод информации из базы данных в DLE


     26.12.2013    Все вопросы » MySQL    9546

вопрос
Здравствуйте, пытаюсь написать модуль, не зная php и mysql нужна помощь. )

Вот код, он из примера написания модуля от Пафнутий.


// Выполняем нужный нам запрос в БД.
        $row = $db->super_query("SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE category = '".$myConfig['catId']."' AND autor = '".$myConfig['userName']."'");
        // Определяем теги шаблона
        $count = ($row['count'] > 0) ? $row['count'] : 'новостей нет';
        $tpl->set('{tag_name}', $count);



Вот, этот код я так понимаю вывода новостей, мне нужно:

из префикса 'ltf' таблицы '_bans' вывести все поля (они на скрине). Должно быть примерно так:

// Выполняем нужный нам запрос в БД.
        $row = $db->super_query("SELECT COUNT(*) FROM ltd_bans WHERE id AND name AND ip AND date .....");

$tpl->set('{id}', $id);
$tpl->set('{name}', $name);
$tpl->set('{ip}', $ip);
$tpl->set('{date}', $date);
...

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


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

psarovskiy
Юзер

psarovskiy - 26 декабря 2013 13:14 -

вы пытаетесь подсчитать количество с непонятными условиями)
если нужно просто вывести все поля, то будет достаточно
$db->query("SELECT * FROM " . PREFIX . "_bans");

Artyom91
Юзер

Artyom91 - 26 декабря 2013 13:51 -

А как вывести в шаблон? У меня сейчас так:

// Выполняем нужный нам запрос в БД.
        $db->query("SELECT * FROM " . ltd . "_bans");

        // Определяем теги шаблона
        $name = ($row['name'] > 0) ? $row['name'] : 'Забаненых нет';

        $tpl->set('{tag_name}', $name);

psarovskiy
Юзер

psarovskiy - 26 декабря 2013 16:05 -

$name = ($row['name'] > 0) ? $row['name'] : 'Забаненых нет';
- это лишнее, так как проверяет равно 0 или нет.

$db->query("SELECT * FROM " . ltd . "_bans");
while($row = $db->get_row()){
    $tpl->set('{tag_name}', $row['name']);
}


как то так

Artyom91
Юзер

Artyom91 - 26 декабря 2013 16:16 -

Спасибо, что-то получилось )

Artyom91
Юзер

Artyom91 - 26 декабря 2013 16:28 -

А теперь скажи друг как указать кол-во вывода строк )

$db->query("SELECT * FROM " . ltd . "_bans LIMIT = '50' ORDER BY = 'date'");


Так не получается

Artyom91
Юзер

Artyom91 - 26 декабря 2013 16:48 -

Сейчас вот так с сортировкой:

$db->query("SELECT * FROM " . ltd . "_bans  ORDER BY id DESC");

psarovskiy
Юзер

psarovskiy - 26 декабря 2013 16:53 -

$db->query("SELECT * FROM " . ltd . "_bans  ORDER BY id DESC LIMIT 0, 10");


0 - с какого начинать вывод
10 - количество

Artyom91
Юзер

Artyom91 - 26 декабря 2013 16:57 -

Спасибо, а я пишу одно число и гадаю в чем проблема )

Artyom91
Юзер

Artyom91 - 26 декабря 2013 17:08 -

Блин, не пойму. Выводит одну строчку и всё. Вот код

        $db->query("SELECT * FROM " . ltd . "_bans WHERE id>=1 AND context = 'ttr.cloud' ORDER BY $order $sort LIMIT 0, 51");
while($row = $db->get_row()){
    $tpl->set('{id}', $row['id']);
    $tpl->set('{name}', $row['name']);
    $tpl->set('{ip}', $row['ip']);
    $tpl->set('{date}', $row['date']);
    $tpl->set('{gamename}', $row['gamename']);
    $tpl->set('{admin}', $row['admin']);
    $tpl->set('{reason}', $row['reason']);
    $tpl->set('{expiredate}', $row['espiredate']);
}


Точнее выводит одну запись где-то из середины таблицы.

dj-avtosh
PHP-developer

dj-avtosh - 26 декабря 2013 17:20 -

компиляцию шаблона тоже нужно в while)

https://elkhan.ru
По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

Artyom91
Юзер

Artyom91 - 26 декабря 2013 17:38 -

dj-avtosh, А как?

Вот сейчас у меня такой код:

        // Загружаем шаблон
        $tpl->load_template($war3Config['template'].'.tpl');

$db->query("SELECT * FROM " . ltd . "_bans WHERE context = 'ttr.cloud' ORDER BY $order $sort LIMIT 0, 50");
while($row = $db->get_row()){
    $tpl->set('{id}', $row['id']);
    $tpl->set('{name}', $row['name']);
    $tpl->set('{ip}', $row['ip']);
    $tpl->set('{date}', $row['date']);
    $tpl->set('{gamename}', $row['gamename']);
    $tpl->set('{admin}', $row['admin']);
    $tpl->set('{reason}', $row['reason']);
    $tpl->set('{expiredate}', $row['espiredate']);
}
    

        // Компилим шаблон
         $tpl->compile('war3Module');
        // Записываем
        $war3Module = $tpl->result['war3Module'];

dj-avtosh
PHP-developer

dj-avtosh - 26 декабря 2013 18:00 -

$tpl->compile('war3Module'); 


в while судя по всему)

https://elkhan.ru
По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

Artyom91
Юзер

Artyom91 - 26 декабря 2013 18:33 -

help

Artyom91
Юзер

Artyom91 - 27 декабря 2013 05:15 -

Ребята помогите кто-нибудь.

dj-avtosh
PHP-developer

dj-avtosh - 27 декабря 2013 15:31 -

Написал же в while

https://elkhan.ru
По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

Artyom91
Юзер

Artyom91 - 27 декабря 2013 17:50 -

dj-avtosh, Спасибо конечно, но я пробовал, у меня не получилось. Не знаком с php, вот изучаю методом тыка, вы покажите, а я запомню )

shankygt
Юзер

shankygt - 7 марта 2014 05:28 -

Может автору уже не надо, но все же у кого такая же фигня будет полезно:)

$i=0;
while($row = $db->get_row()){
$view = "<tr>
<td>".$row['id']."</td><td>".$row['name']."</td><td>".$row['ip']."</td><td>".$row['date']."</td><td>".$row['gamename']."</td><td>".$row['admin']."</td><td>".$row['reason']."</td><td>".$row['espiredate']."</td></tr>";
$i++;
}
$tpl->set('{view}', $view); //Тег вывода строки с данными

    

        // Компилим шаблон
         $tpl->compile('war3Module');
        // Записываем
        $war3Module = $tpl->result['war3Module'];

Примерно так, моя версия реализации) Таблица не обязательна, можно через ДИВные и т.д.

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

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

наверх