

|
|
 
Функция getTable
DEPRECATED
Функция getTable – универсальная функция для извлечения данных из любой таблицы базы данных сайта, собранного на системе Blox CMS.
//require_once $GLOBALS['bloxDir']."/functions/getTab.php"; // не обязательно
$table = getTable
(
$tableName,
$sampleId,
$limit,
$backward,
$hidingFieldName,
$recIdFieldName,
$xSql,
$isDatTable,
$tdd,
$dataBlockId
);
где:
$table | Функция возвращает двумерный массив. Первый ключ – последовательный номер (начиная с 0), второй ключ – имя поля (или столбца таблицы). |
$tableName | Имя таблицы с префиксом. Имеется в виду префикс, заданный в главном файле сайта (index.php). Не забудьте перевести имя в нижний регистр! |
$sampleId | Идентификатор выборки
Выборку желательно именовать с помощью произвольного цифробуквенного идентификатора.
Нужно помнить, что шаблоне при штатной выборке в качестве идентификатора выборки используется просто регулярный идентификатор блока.
Поэтому в качестве идентификатора произвольной выборки используйте строку, включающую имя шаблона, регулярный идентификатор блока, плюс какой-нибудь префикс или суффикс.
|
$limit | Ограничение на число записей в выборке (число)
Этот аргумент нужно использовать обязательно, и обязательно, как переменную.
Дело в том, что эта переменная является не только входным данным, но в нее также возвращается значение, которое может быть изменено в результате URL-запроса с параметра limit.
Парамет же limit, объявленный в дескрипторе шаблона, никак не влияет на выборку с помощью данной функции.
|
$backward | Является ли порядок обратным (true, false)
Этот аргумент нужно использовать обязательно, и обязательно, как переменную.
Дело в том, что эта переменная является не только входным данным, но в нее также возвращается значение, которое может быть изменено в результате URL-запроса с параметра backward.
Парамет же backward, объявленный в дескрипторе шаблона, никак не влияет на выборку с помощью данной функции.
|
$hidingFieldName | Имя поля, используемого для штатного скрытия записей (необязательный аргумент)Не будут извлечены те записи, значения этого поля которых не пусты. |
$recIdFieldName | Имя ключевого поля (необязательный аргумент)
Имя поля, в которое записываются идентификаторы (ключи) строк таблицы.
Этот аргумент используется только для извлечения одной записи по ее идентификатору.
Если же нужна одиночная запись вместе с соседними записями, то задавайте $GLOBALS['single'][$regularId] = ...
|
$xSql | Дополнительное условие в SQL запросе (необязательный аргумент)Строка должна начинаться со слова: AND ... |
$isDatTable | Является ли режим выборки данных штатным (необязательный аргумент)
Устанавливайте значение true, если нужно извлечь данные из таблицы данных шаблона (таблицы с префиксом tab_). При этом в качестве ключей массива будут использоваться номера полей: rec, 1, 2, .... В противном случае будут использоваться имена столбцов: recId, dat1, dat2, ...
Следите за тем, чтобы в pick и search запросах (запросы условной и поисковой выборки) поля обозначались соответствующим образом, то есть, номерами в режиме $isDatTable=true и именами столбцов в противном случае.
$tdd | Массив дескриптора (необязательный аргумент)
| $dataBlockId | Номер блока с данными (необязательный аргумент). Нужно использовать только для данных типа select, если этот аргумент опустить, он будет вычислен автоматически.
| |
Пример извлечения адреса электронной почты из таблицы users для пользователя с идентификатором $userId
$table = getTable
(
$GLOBALS['prefix'].'users',
'writeMessage'.$block,
$limit2,
$backward2,
'',
'userId',
"AND userId=$userId"
);
$email = $table[0]['email'];
Эта функция удобна, когда нужно извлекать данные с учетом всех URL-запросов (sort, pick, limit, part, backward, search, singleRec).
Внимание! Чтобы выборка производилась с учетом URL-запросов, перед вызовом функции getTable необходимо вызвать функцию saveRequest.
Если вам это не нужно, то данной функцией можно не пользоваться, а извлекать данные классическим путем, то есть, обращаясь непосредственно к базе данных.
|