 
Условная выборка (запрос pick)
Для выборки записей, данные которых удовлетворяют определенным условиям, используется запрос:
pick[поле][оператор]=значение, где
поле - это номер поля, данные которого сравниваются с заданным значением,
оператор - это оператор сравнения, который можно выбрать из следующего списка:
Операторы сравнения
Оператор | Расшифровка
|
---|
анг. | рус. | мат.
|
---|
lt | less than | меньше чем | <
| le | less or equal | меньше или равно | ≤
| eq | equal | равно | =
| ge | greater or equal | больше или равно | ≥
| gt | greater than | больше чем | >
| ne | not equal | не равно | ≠
|
Приведем примеры запросов:
pick.tpl
<?php echo "
<table>";
foreach ($tab as $dat)
echo "
<tr>
<td>{$dat['edit']}</td>
<td>$dat[1]</td>
<td>$dat[2]</td>
</tr>
"; echo "
</table>
<!-- Выбрать записи со значениями данных в первом поле от 100 до 200 включительно -->
<a href='?page=$page&block=$block&pick[1][ge]=100&pick[1][le]=200'>[100...200]</a>
<!-- Выбрать записи со значениями поля от 100 до 200, исключая сами числа 100 и 200 -->
<a href='?page=$page&block=$block&pick[1][gt]=100&pick[1][lt]=200'>(100...200)</a>
<!-- Выбрать записи со значением первого поля, равным 100 -->
<a href='?page=$page&block=$block&pick[1][eq]=100'>Равно 100</a>
<!-- Выбрать записи со значением первого поля, не равным 100 -->
<a href='?page=$page&block=$block&pick[1][ne]=100'>Не равно 100</a>
<!-- Отмена условий выборки -->
<a href='?page=$page'>Показать все записи</a>
"; ?>
pick.tdd
<?php
$types[1] = 'int';
$types[2] = 'varchar(100)'; // Комментарии
$params['isMultiRec'] = true;
?>
В одном запросе можно задавать условия для нескольких полей.
Значениями массива pick могут выступать числовые, символьные, и некоторые временные данные. Выборки не будут работать для тех данных, для которых невозможны операции сравнения .
Короткая форма записи pick-запроса
На условной выборке построена, так называемая, pick-навигация, где применяются запросы вида pick[][eq] (выборка записей с точным значением данного).
Для таких запросов была введена короткая форма записи p[] .
Она удобна при запросах одновременно к нескольким полям. При этом, например, код pick[1][eq]=44&pick[2][eq]=66 будет выглядеть, как p[1]=44&p[2]=66 .
Рекомендуем условиться применять короткую форму только для pick-навигации, тогда вам не придется переписывать инструкции для поисковых роботов, находящихся в файле robots.txt.
А в остальных случаях применяйте стандартную форму с запросом pick.
См. также
|