SQLite3::createCollation
(PHP 5 >= 5.3.11)
SQLite3::createCollation — Registers a PHP function for use as an SQL collating function
Description
Registers a PHP function or user-defined function for use as a collating function within SQL statements.
Liste de paramètres
-
name
-
Name of the SQL collating function to be created or redefined
-
callback
-
The name of a PHP function or user-defined function to apply as a callback, defining the behavior of the collation. It should accept two strings and return as strcmp() does, i.e. it should return -1, 1, or 0 if the first string sorts before, sorts after, or is equal to the second.
Valeurs de retour
Cette fonction retourne TRUE
en cas de
succès ou FALSE
si une erreur survient.
Exemples
Exemple #1 SQLite3::createCollation() example
<?php $db = new SQLite3(":memory:"); $db->exec("CREATE TABLE test (col1 string)"); $db->exec("INSERT INTO test VALUES ('a1')"); $db->exec("INSERT INTO test VALUES ('a10')"); $db->exec("INSERT INTO test VALUES ('a2')"); $db->createCollation('NATURAL_CMP', 'strnatcmp'); $defaultSort = $db->query("SELECT col1 FROM test ORDER BY col1"); $naturalSort = $db->query("SELECT col1 FROM test ORDER BY col1 COLLATE NATURAL_CMP"); echo "default:\n"; while ($row = $defaultSort->fetchArray()){ echo $row['col1'], "\n"; } echo "\nnatural:\n"; while ($row = $naturalSort->fetchArray()){ echo $row['col1'], "\n"; } $db->close(); ?>
L'exemple ci-dessus va afficher :
default: a1 a10 a2 natural: a1 a2 a10
Voir aussi
- The SQLite collation documentation: » http://sqlite.org/datatype3.html#collation