Jump to content
Sign in to follow this  
Lena82

функция с запросом в модель каталога

Recommended Posts

Подскажите пожалуйста, что делает эта функция

public function _specialCol( $alias = 'special' ) {
		$sql = "SELECT `price` FROM `" . DB_PREFIX . "product_special` AS `ps` WHERE `ps`.`product_id` = `p`.`product_id` AND `ps`.`customer_group_id` = '" . (int) $this->_customerGroupId() . "' AND ((`ps`.`date_start` = '0000-00-00' OR `ps`.`date_start` < NOW()) AND (`ps`.`date_end` = '0000-00-00' OR `ps`.`date_end` > NOW())) ORDER BY `ps`.`priority` ASC, `ps`.`price` ASC LIMIT 1";
		
		return $alias ? sprintf( "(%s) AS %s", $sql, $alias ) : $sql;
	}

а то как я понимаю, в ней проблема, но не пойму почему...

Share this post


Link to post
Share on other sites

так это какая-то ошибка или какого рода проблема?

Share this post


Link to post
Share on other sites

string sprintf ( string format [, mixed args] )

Возвращает строку, созданную с использованием строки формата format.

Строка формата состоит из директив: обычных символов (за исключением %), которые копируются в результирующую строку, и описатели преобразований, каждый из которых заменяется на один из параметров. Это относится также к fprintf(), sprintf() и printf().

Каждый описатель прреобразований состоит из знака процента (%), за которым следует один или более дополнительных элементов (в том порядке, в котором они здесь перечислены):

Необязательный описатель заполнения, который определяет, какой символ будет использоваться для дополнения результата до необходимой длины. Это может быть пробел или 0. По умолчанию используется пробел. Альтернативный символ может быть указан с помощью '. См. примеры ниже.

Необязательный описатель выравнивания, определяющий выранивание влево или вправо. По умолчанию выравнивается вправо, - используется для выравнивания влево.

Необязательное число, описатель ширины, определяющий минимальное число символов, которое будет содержать результат этого преобразования.

Необязательный описатель точности, определяющий, сколько десятичных разрядов отображать для чисел с плавающей точкой. Имеет смысл только для числовых данных типа float. (Для форматирования чисел удобно также использовать функцию number_format().)

Описатель типа, определяющий, как трактовать тип данных аргумента. Допустимые типы:

% - символ процента. Аргумент не используется.
b - аргумент трактуется как целое и выводится в виде двоичного числа.
c - аргумент трактуется как целое и выводится в виде символа с соответствующим кодом ASCII.
d - аргумент трактуется как целое и выводится в виде десятичного числа со знаком.
e - аргумент трактуется как float и выводится в научной нотации (например 1.2e+2).
u - аргумент трактуется как целое и выводится в виде десятичного числа без знака.
f - аргумент трактуется как float и выводится в виде десятичного числа с плавающей точкой.
o - аргумент трактуется как целое и выводится в виде восьмеричного числа.
s - аргумент трактуется как строка.
x - аргумент трактуется как целое и выводится в виде шестнадцатиричного числа (в нижнем регистре букв).
X - аргумент трактуется как целое и выводится в виде шестнадцатиричного числа (в верхнем регистре букв).

Начиная с PHP 4.0.6 в строке формата поддерживается нумерация и изменение порядка параметров. Например:

Share this post


Link to post
Share on other sites

так это какая-то ошибка или какого рода проблема?

если она пытается создать дубль поля в таблице бд,, тогда многое проясниться...при выборе опции в фильтре.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.