SQLite3
PHP Manual

SQLite3::createCollation

(PHP 5 >= 5.3.11, PHP 7)

SQLite3::createCollationEnregistre une fonction PHP pour l'utiliser comme fonction de classement SQL

Description

public bool SQLite3::createCollation ( string $name , callable $callback )

Enregistre une fonction PHP ou une fonction définie par l'utilisateur pour l'utiliser comme fonction de classement dans une requête SQL.

Liste de paramètres

name

Nom de la fonction de classement SQL à créer ou à re-définir.

callback

Le nom d'une fonction PHP ou d'une fonction définie par l'utilisateur à appliquer comme fonction de rappel, définissant le comportement du classement. Elle doit accepter deux arguments et retournera la même chose que la fonction strcmp(), i.e. elle doit retourner -1, 1, ou 0 si la première chaîne sort avant, après, ou est équivalent à la seconde.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec SQLite3::createCollation()

Enregistre la fonction PHP strnatcmp() comme séquence de classement dans la base de données SQLite3.

<?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 
"Par défaut :\n";
while (
$row $defaultSort->fetchArray()){
    echo 
$row['col1'], "\n";
}

echo 
"\nNaturel :\n";
while (
$row $naturalSort->fetchArray()){
    echo 
$row['col1'], "\n";
}

$db->close();

?>

L'exemple ci-dessus va afficher :


Par défaut :
a1
a10
a2

Naturel :
a1
a2
a10

Voir aussi


SQLite3
PHP Manual