(PHP 4 CVS only)
dbx_compare -- Compare two rows for sorting purposes
Description
int dbx_compare
(array row_a, array row_b, string columnname_or_index [, int
flags])
Returns 0 if row_a[$columnname_or_index] is equal to
row_b[$columnname_or_index], 1 if it is greater and -1 if it is
smaller (or vice versa if the DBX_CMP_DESC flag is set).
The flags can be set to specify comparison
direction (whether sorting is ascending or descending) and
comparison type (force string or numeric compare by converting the
data). The constants for direction are DBX_CMP_ASC and DBX_CMP_DESC.
The constants for comparison type are DBX_CMP_NATIVE (no
conversion), DBX_CMP_TEXT and DBX_CMP_NUMBER. These constants can
be OR-ed together. The default value for the
flags parameter is DBX_CMP_ASC |
DBX_CMP_NATIVE.
Example 1. dbx_compare() example
<?php
function user_re_order ($a, $b) {
$rv = dbx_compare ($a, $b, "parentid", DBX_CMP_DESC);
if (!$rv) {
$rv = dbx_compare ($a, $b, "id");
return $rv;
}
}
$link = dbx_connect ("odbc", "", "db", "username", "password")
or die ("Could not connect");
$result = dbx_query ($link, "SELECT id, parentid, description FROM tbl ORDER BY id");
echo "resulting data is now ordered by id<br>";
dbx_sort ($result, "user_re_order");
echo "resulting data is now ordered by parentid (descending), then by id<br>";
dbx_close ($link);
?>
|
|
See also dbx_sort().