Sets a lower range bound for the file. Once the bound is set, the last entry for all seeks becomes the entry defined by the range.
bool i5_range_to (resource file , bool included, array values)
Parameters
file |
IBM i file resource
|
included |
True if the field with this key should be included in the range, false otherwise.
|
values |
Values of the key=>value pairs.
|
Return
True if OK, false if failed.
Error returned
I5_ERR_PHP_HDLDFT |
256 |
No default connection found. |
I5_ERR_PHP_OPTIONSTYPE |
259 |
The type of " I5_OPTIONS_ALIAS" option must be x and not x |
I5_ERR_PHP_OPTIONSNUMBER |
260 |
Option number -1 is unknown. |
I5_ERR_PHP_TYPEPARAM |
262 |
Type of element x in parameter -1 must be y. Type z was provided. |
Details
• Sets the upper filter limit in a file according to key(s) value(s) defined as parameter(s).
• Range can be activated or deactivated for each open file.
• i5_range_from and i5_range_to functions, used together or alone will activate the range.
• To get full file access i5_range_clear function must be used
• Using i5_range_from without calling i5_range_to, range will go from specified limit to file end.
• Using i5_range_to without calling i5_range_from, range will go from file start to specified limit.
• Upper and lower limits can be set equal:
$commun = array("FAMILY" => "WHOLSALERS");
$ret = i5_range_from($file, true, $commun);
$ret = i5_range_to($file, true, $commun);
• "included" parameter is a Boolean (TRUE or FALSE) specifying if the limit is included or not in the range.
If the value is FALSE the lower limit (set with i5_range_from) will be the following record and the upper limit (set with i5_range_to) will be the last record.
Example
$file = i5_open('EASYCOM/NCLIENT');
if (is_bool($file)) trigger_error('i5_open error : '.i5_errormsg(), E_USER_ERROR);
$first = array('CNOM' => 'D');
$last = array('CNOM' => 'F');
$ret = i5_range_from($file, true, $first);
if (!$ret) trigger_error('i5_range_from error : '.i5_errormsg(), E_USER_ERROR);
$ret = i5_range_to($file, false, $last);
if (!$ret) trigger_error('i5_range_to error : '.i5_errormsg(), E_USER_ERROR);
echo 'i5_fetch_row : <BR>';
i5_seek($file, I5_FIRST);
while ($tab = i5_fetch_row($file))
{
printf('%s (%s)<BR>', $tab[3], $tab[2]);
}
See also