Code : Tout sélectionner
UPDATE dictionnaire SET sorted_letters = 'eimoqstuyz' WHERE scrabble_name = 'zymotiques';
UPDATE dictionnaire SET sorted_letters = 'hnotyz' WHERE scrabble_name = 'zython';
UPDATE dictionnaire SET sorted_letters = 'hnostyz' WHERE scrabble_name = 'zythons';
UPDATE dictionnaire SET sorted_letters = 'hmtuyz' WHERE scrabble_name = 'zythum';
UPDATE dictionnaire SET sorted_letters = 'hmstuyz' WHERE scrabble_name = 'zythums';mysql --user=leuser --password=lepass --host=127.0.0.1 labase < update-dictionnaire-sorted_letters.sqlCode : Tout sélectionner
$str = strtr($str, // sans accents
'àáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'aaaaaaceeeeiiiioooooouuuuyy');mysql --default_character_set utf8 --user=leuser --password=lepassword --host=127.0.0.1 lanomdelabase < update-dictionnaire-sorted_letters.sql
/** SCRIPT UPDATE DATABASE - EXECUTE ONCE V3 */
require ('mysqli_conn.php');
$conn = new mysqli($servername, $username, $password, $dbname);
$query = 'SELECT * FROM dictionnaire';
$words = $conn->query($query);
$conn->autocommit(false);
$i = 0;
while ($word = $words->fetch_object())
{
$sorted_letters = $conn->real_escape_string(sort_alpha_noaccent_tolower($word->scrabble_name));
$update = "UPDATE dictionnaire SET sorted_letters = '$sorted_letters' WHERE scrabble_name = '{$word->scrabble_name}'";
$conn->query($update);
if (++$i % 1000 == 0)
$conn->commit();
}
$conn->commit();Code : Tout sélectionner
function suppr_accents($chaine) {
$accents = array('À','Á','Â','Ã','Ä','Å','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ò','Ó','Ô','Õ','Ö','Ù','Ú','Û','Ü','Ý','à','á','â','ã','ä','å','ç','è','é','ê','ë','ì','í','î','ï','ð','ò','ó','ô','õ','ö','ù','ú','û','ü','ý','ÿ');
$sans = array('A','A','A','A','A','A','C','E','E','E','E','I','I','I','I','O','O','O','O','O','U','U','U','U','Y','a','a','a','a','a','a','c','e','e','e','e','i','i','i','i','o','o','o','o','o','o','u','u','u','u','y','y');
return str_replace($accents, $sans, $chaine);
}
function sort_alpha_noaccent_tolower($str)
{
$str = mb_strtolower($str); // tout en minuscules
$str = suppr_accents($str);
$str = str_split($str,1);
sort($str);
return trim(implode('',$str)); // supprime les espaces (si on a plusieurs mots)
}
Code : Tout sélectionner
while ($word = $words->fetch_object())
{
//if ($word->scrabble_name != $search)
echo $word->scrabble_id." : ".$word->scrabble_name.'<br/>';
}