Биллинговая система Nodeny

Главная категория => Разработка => Тема начата: Efendy от 09 Сентября 2009, 15:04:49



Название: Программирование 50.26 (40.26)
Отправлено: Efendy от 09 Сентября 2009, 15:04:49
Я смотрю некоторые пытаются модули для админки писать. Разъясню некоторые фичи, начну с выполнения sql-запросов.

Код:
$nsql=nSql->new({
     dbh => $dbh,
     sql => "SELECT name FROM users WHERE id=5",
     show => 'line',
     comment => 'Получаем логин и ФИО юзера',
     ret => { name => \$name, fio => \$fio }
});

$OUT.='Логин: '.( $nsql->{ok}? $name : 'ОШИБКА!' );

Здесь одной командой мы выполнили sql-запрос, а также получили значение полей name и fio.
Также в область отладочных сообщений вместе с sql-запросом пошли комментарии, после которых будет проставлено время выполнения и количество строк.

Обязательные параметры dbh и sql. Значение остальных:

comment - комментарий, который выводится перед sql в области отладочных сообщений

show   - режим отображения:
 full   - максимальная детализация. В рамке
 short   - минимальная. В рамке
 line   - все в одну строку. Без рамки
 mem   - тоже, но добавить к переменной $Debug

ret - используется только когда вы извлекаете одну строку, т.е. вам не нужно обрабатовать несколько строк данных, в последнем случае нужно использовать:

Код:
$nsql=nSql->new({
     dbh => $dbh,
     sql => "SELECT name FROM users",
     show => 'full',
     comment => 'Получаем логины и ФИО всех юзеров',
});

%fileds=( name => \$name, fio => \$fio );
while( $nsql->get_line(\%fileds) )
{
    $OUT.="$name = $fio".$br;
}