За последние 24 часа нас посетили 16590 программистов и 1650 роботов. Сейчас ищут 2026 программистов ...

как сделать такой запрос на основе кода php

Тема в разделе "MySQL", создана пользователем joost, 29 май 2008.

  1. joost

    joost Guest

    PHP:
    1.  
    2. <?php
    3. $words="Привет!";
    4. //Массив, содержащий русские буквы, сходные по начертанию с английскими, маленькую "к" можно не включать сюда
    5. $rus = array( "А", "а", "В", "Е", "е", "К", "к", "М", "Н", "О", "о", "Р", "р", "С", "с", "Т", "Х", "х");
    6. //Массив английских букв, сходных по начертанию с русскими, маленькую "k" тоже можно и не включать, конечно
    7. $eng = array("A", "a", "B", "E", "e", "K", "k", "M", "H", "O", "o", "P", "p", "C", "c", "T", "X", "x");
    8. //Замена англ. букв русскими
    9. print $eng_words = str_replace ($rus, $eng, $words);
    10. ?>
    11.  
    надо в определеном поле таблицы заменить sql запросом все руские буквы на английские сходные по начертанию

    [sql]
    update table set `pole`=replace($rus, $eng, `pole`)
    [/sql]

    как быть с масивами $rus, $eng в sql?
    как сделать такой запрос?


    ДОБАВЛЕНО!
    urlencode() - кодирует руские буквы в "%" и т.д. и ставит "+" вместо пробела, а как просто перекодировать руские буквы в "%" и т.д. но без замены пробелов на знак + ?

    проще говоря как из например "Днепр 442" сделать "%C4HE%CFP-442"?
     
  2. lexa

    lexa Активный пользователь

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    Надо заменять при доавлении. Почему ты раньше об этом не подумал? А про буквы Ж, Щ и т.д. ты в следующем топике спросишь? :)
     
  3. BS

    BS Активный пользователь

    С нами с:
    10 апр 2008
    Сообщения:
    149
    Симпатии:
    0
    можно написать mysql-функцию, которая будет менять буквы в слове на английские и испьзовать эту функцию в запросе
     
  4. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    А ещё лучше - один раз обновить все данные.
     
  5. BS

    BS Активный пользователь

    С нами с:
    10 апр 2008
    Сообщения:
    149
    Симпатии:
    0
    Sergey89, так он это вроде и хочет сделать. Просто без функции, мне кажется не получится такой запрос написать.
     
  6. joost

    joost Guest

    как написать функцию в mysql?
    дайте ссылки на инфу по этому поводу
     
  7. EugeneTM

    EugeneTM Активный пользователь

    С нами с:
    19 апр 2008
    Сообщения:
    85
    Симпатии:
    0