(PHP 4 >= 4.1.0, PHP 5 < 5.1.0, PECL dbx >= 1.1.0)
dbx_compare — Comparar dos filas con propósitos de ordenación
$row_a
, array $row_b
, string $column_key
[, int $flags
= DBX_CMP_ASC | DBX_CMP_NATIVE
] ) : intdbx_compare() es una función de ayuda para dbx_sort() para facilitar la construcción y el uso de funciones de ordenación personalizadas.
row_a
Primera fila
row_b
Sgunda fila
column_key
La columna comparada
flags
flags
puede ser establecido para especificar la dirección
de comparación:
DBX_CMP_ASC
- orden ascendente
DBX_CMP_DESC
- orden descendente
DBX_CMP_NATIVE
- sin conversión de tipo
DBX_CMP_TEXT
- comparar elementos como cadenas
DBX_CMP_NUMBER
- comparar elementos numéricamente
Devuelve 0 si row_a[$column_key]
es igual a row_b[$column_key], y 1
o -1 si el primero es mayor o menor que el
segundo respectivamente, o vice versa si flag
está establacido a DBX_CMP_DESC
.
Ejemplo #1 Ejemplo de dbx_compare()
<?php
function user_re_order($a, $b)
{
$rv = dbx_compare($a, $b, "parentid", DBX_CMP_DESC);
if (!$rv) {
$rv = dbx_compare($a, $b, "id", DBX_CMP_NUMBER);
}
return $rv;
}
$enlace = dbx_connect(DBX_ODBC, "", "db", "username", "password")
or die("No se pudo conectar");
$resultado = dbx_query($enlace, "SELECT id, parentid, description FROM table ORDER BY id");
// la información en $resultado ahora está ordenada por id
dbx_sort($result, "user_re_order");
// la información en $resultado ahora está ordenada por parentid (descendentemente), luego por id
dbx_close($enlace);
?>