Page 1 of 1
Как записывать и выбирать данные из БД!!!
Posted: Fri Oct 01, 2010 7:54 am
by stalnoiivan
Прошу прощения за возможный не корректный вопрос.

Эта CMS для меня новая... раньше делал проекты на своей самописной cms.
Вопрос в следующем: как записывать и выбирать (выводить) данные из БД?
Надо ли подгружать файл config.php и потом делать обычные запросы в бд, или здесь какие-то другие моменты ...
В итоге мне надо сделать форму для ввода логина и пароля. Форма регистрации уже есть, проблема только в записи информации в бд.
Если всё введено корректно, то появляется доп информацию на этой же странице.
Таблица в бд уже создана.
Буду благодарен за любую информацию. За ранее спасибо!!!
Re: Как записывать и выбирать данные из БД!!!
Posted: Fri Oct 01, 2010 10:36 am
by Fenik17
К примеру, часть кода из одного плагина:
Code: Select all
global $gCms;
.......
$query =
'SELECT content_name,content_alias, active, content FROM ' . cms_db_prefix().'content AS C JOIN ' . cms_db_prefix().'content_props AS CP ' .
'ON C.content_id = CP.content_id ' .
"WHERE (CP.prop_name = 'content_en') AND (CP.content LIKE '%albums=%') AND (id_hierarchy LIKE '%.$parent_id.%') " .
'ORDER BY C.hierarchy DESC;';
$db =& $gCms->GetDb();
$res = $db->GetArray($query);
if( $res ) {
foreach ($res as $one) {
........
}
}
Re: Как записывать и выбирать данные из БД!!!
Posted: Fri Oct 01, 2010 10:55 am
by stalnoiivan
Большое спасибо за ответ Fenik17!
а что означает запись
. cms_db_prefix().'content AS C JOIN ' . cms_db_prefix().'content_props AS CP ' .
'ON C.content_id = CP.content_id ' .
я так понимаю content - это название таблицы
а что означает AS C JOIN и AS CP?
и что означает запись
CP.prop_name
Ещё раз спасибо за отклик

Re: Как записывать и выбирать данные из БД!!!
Posted: Fri Oct 01, 2010 11:12 am
by Fenik17
я так понимаю content - это название таблицы
Нет. Полное название таблицы - cms_content, к примеру. Префикс таблиц задается при установке, его и возвращает функция cms_db_prefix().
а что означает AS C JOIN и AS CP?
и что означает запись
CP.prop_name
Это присваивание алиасов в рамках запросов. Стандартный синтаксис SQL.
Т.е. пишем "SELECT * FROM my_table_name AS T1 ... " - и дальше в запросе можно обращаться к полям таблицы my_table_name через T1.название_стобца. Можно также писать без AS.
К примеру, "SELECT id, price FROM orders_t t1 JOIN prices_t t2 ON t1.price_id = t2.id".
И еще. Чтобы использовать переменную $gCms, скрипт должен выполняться к контексте cms, т.е. через вызов index.php. Есть три варианта - написание модуля, написание плагина или пользовательский тег. Обо всем есть на форуме и в документации. Да и в коде самой cms куча примеров.
Re: Как записывать и выбирать данные из БД!!!
Posted: Fri Oct 01, 2010 11:17 am
by stalnoiivan
Благодарю за помощь!