Manuel PHP

dbx_compare

(PHP 4 >= 4.0.7, PHP 5 <= 5.0.5, PECL dbx:1.1.0)

dbx_compare — Compare deux lignes DBX afin de les trier

Description

int dbx_compare ( array $row_a , array $row_b , string $column_key [, int $flags ] )

dbx_compare() est une fonction d'aide pour dbx_sort(), afin d'aider aux tris.

Liste de paramètres

row_a

Première ligne

row_b

Seconde ligne

column_key

La colonne comparée

flags

Le paramètre flags peut prendre plusieurs valeurs :

  • DBX_CMP_ASC - ordre ascendant
  • DBX_CMP_DESC - ordre descendant
et le type utilisé pour la comparaison :
  • DBX_CMP_NATIVE - pas de conversion de type
  • DBX_CMP_TEXT - compare les lignes comme des chaînes
  • DBX_CMP_NUMBER - compare les lignes comme des nombres
Une direction de tri et un type de comparaison peuvent être combinés avec l'opérateur OR (|). La valeur par défaut pour l'option flags est DBX_CMP_ASC | DBX_CMP_NATIVE.

Valeurs de retour

Retourne 0 si row_a[$column_key] est égale à row_b[$column_key], et 1 ou -1 si le premier est plus grand ou plus petit que le dernier, respectivement, ou bien le contraire si l'option flags est configurée à DBX_CMP_DESC.

Exemples

Example#1 Exemple avec dbx_compare()

  1. <?php
  2. function user_re_order($a, $b)  
  3. { 
  4.    $rv = dbx_compare($a, $b, "parentid", DBX_CMP_DESC); 
  5.    if (!$rv) { 
  6.       $rv = dbx_compare($a, $b, "id", DBX_CMP_NUMBER); 
  7.    } 
  8.    return $rv;  
  9. }  
  10.  
  11. $link = dbx_connect(DBX_ODBC, "", "db", "username", "password") 
  12.    or die("Impossible de se connecter");  
  13.  
  14. $result = dbx_query($link, "SELECT id, parentid, description FROM table ORDER BY id"); 
  15.    // les données de $result sont désormais classées par id
  16.  
  17. dbx_sort($result, "user_re_order"); 
  18.    // la date dans $result est maintenant ordonnée par parentid (descending), puis par id
  19.  
  20. dbx_close($link);  
  21. ?> 

Voir aussi


Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Breizh Blog