Биллинговая система Nodeny
22 Ноября 2024, 22:08:01 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: Программирование 50.26 (40.26)  (Прочитано 5905 раз)
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« : 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;
}
« Последнее редактирование: 09 Сентября 2009, 15:06:25 от Efendy » Записан
Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!