Beauty

PhpMyAdmin скопировать название транслитом

9 сообщений в этой теме

подскажите пожалуста в таблице options есть название на русском и транслитом, потер случайно все названия на транслите как бы скопировать их обратно из русского?

UPDATE db_options SET value = translit

копирует из value в translit на русском, а как сделать чтобы перевело само на транслит?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

функция :

function rus2translit($string) {
    $converter = array(
        'а' => 'a',   'б' => 'b',   'в' => 'v',
        'г' => 'g',   'д' => 'd',   'е' => 'e',
        'ё' => 'e',   'ж' => 'zh',  'з' => 'z',
        'и' => 'i',   'й' => 'y',   'к' => 'k',
        'л' => 'l',   'м' => 'm',   'н' => 'n',
        'о' => 'o',   'п' => 'p',   'р' => 'r',
        'с' => 's',   'т' => 't',   'у' => 'u',
        'ф' => 'f',   'х' => 'h',   'ц' => 'c',
        'ч' => 'ch',  'ш' => 'sh',  'щ' => 'sch',
        'ь' => '\'',  'ы' => 'y',   'ъ' => '\'',
        'э' => 'e',   'ю' => 'yu',  'я' => 'ya',
        
        'А' => 'A',   'Б' => 'B',   'В' => 'V',
        'Г' => 'G',   'Д' => 'D',   'Е' => 'E',
        'Ё' => 'E',   'Ж' => 'Zh',  'З' => 'Z',
        'И' => 'I',   'Й' => 'Y',   'К' => 'K',
        'Л' => 'L',   'М' => 'M',   'Н' => 'N',
        'О' => 'O',   'П' => 'P',   'Р' => 'R',
        'С' => 'S',   'Т' => 'T',   'У' => 'U',
        'Ф' => 'F',   'Х' => 'H',   'Ц' => 'C',
        'Ч' => 'Ch',  'Ш' => 'Sh',  'Щ' => 'Sch',
        'Ь' => '\'',  'Ы' => 'Y',   'Ъ' => '\'',
        'Э' => 'E',   'Ю' => 'Yu',  'Я' => 'Ya',
    );
    return strtr($string, $converter);
}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

на php я видел, а как это мне поможет перенести из столбика options в столбик translit в phpmyadmin?

Katyara понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну у Вас где то же формируются названия эти, вот и скормите функцию в переменную а переменную в то место где формируются названия и сделайте либо insert либо update 

функций таких чисто в самом mysqli не встречал 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

вот ребята подсказывают, но не пойму как это сделать через UPDATE а не CREATE чтобы скопировать из одного столбца в другой

  CREATE TABLE IF NOT EXISTS `translit` (
   `t` varchar(3) NOT NULL,
    `f` varchar(15) NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

   INSERT INTO `translit` (`t`, `f`) VALUES
 ('a', 'а'),
 ('b', 'б'),
 ('v', 'в'),
 ('g', 'г'),
 ('d', 'д'),
 ('e', 'е'),
 ('e', 'ё'),
 ('zh', 'ж'),
 ('z', 'з'),
 ('i', 'и'),
 ('y', 'й'),
 ('k', 'к'),
 ('l', 'л'), ... и т.д.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ну тут немного не то что Вам нужно. Вам то нужен транслит а не найти и заменить значение 1 буквы, врать не буду на чистом запросе это никогда не делал. А о чем мы говорим самопис или cms какая то :?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

самопис, случайно хлопнул таблицу с транслитом (таблица отвечающая за URL где они автоматом формировались) осталось на русском только, надо пересоздать в общем по новой или скопировать value > translit через phpmyadmin 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ну так у Вас где то все равно чпу формируются, вот там и сделайте как я сказал и будет все норм,  функция сама сделает транслит и писанет в базу, у Вас где то в case создается все равно логика в контроллере. Там и пропищите на чпу, это самый простой вариант я так всегда делаю

gefard понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

вот так починил

 

# mysqlcheck -r -A -uroot -p

пересоздались индексы прост) но все равно спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу