ФорумСообществоПрофессиональная деятельностьВзаимопомощь → помогите с двуязычием в coolmp3

помогите с двуязычием в coolmp3

  • yozh

    Сообщения: 3 Репутация: N Группа: Кто попало

    Spritz 12 августа 2008 г. 8:11

    Помогите чайнику решить задачу.
    Итак, исходные: есть каталог mp3 от sourceforge "coolmp3", в странице album.php есть код, дающий возможность при нажатии на букву получить список авторов и альбомов на эту букву. Проблема в том, что там только латиница, а надо бы строку латиницы, а под ней строку кириллицы. Да еще чтоб работало, т.е. выводило список на русские буквы.

    Код:

    echo"<br><br>";
    $chars = array ("0-9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","R","S","T","U","V","W","X","Y","Z","all");
    echo "<table width=100% border=0 cellpadding=1><tr>";
    echo "<td>",$theme['text-a-z'],"[</td>";
    foreach ($chars as $c)
    {
    $l=strtolower($c);
    echo '<td nowrap><center>';
    if ($char == $l)
    printf ('<b>%s%s</b>', $theme['text-a-z'], $c);
    else
    printf ('<a href=album.php?char=%s>%s%s</a>', $l,  $theme['text-a-z'], $c);
    echo '</td>';
    }
    echo '<td>',$theme['text-a-z'],']</td></tr></table>';
    }
    echo '<br>';

    if (isset($char))
    {
    if ($char == '0-9')
    {
    $q = "BETWEEN '0' AND '9'";
    }
    elseif ($char == 'lat')
    {
    $q = "NOT REGEXP '^[a-z&0-9]'";
    }
    elseif ($char == 'all')
    {
    $q = "REGEXP '^'";
    }
    else
    {
    $char=mysql_escape_string($char);
    $q = "LIKE '$char%'";
    }
    if ($user["browse_per_page"]>0)
    {
    list ($max_pages) = mysql_fetch_row(dbu_query ("
    SELECT
    count(*)
    FROM
    album_index, album_artist
    WHERE
    $sort $q AND
    album_artist.ID = album_index.artistID
    "));
    $max_pages=floor($max_pages / $user["browse_per_page"]);
    $this_page="LIMIT ".$_SESSION["album_page"]*$user["browse_per_page"].",".$user["browse_per_page"];

    ————————————————————————
    Буду признателен за любые подсказки.
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 12 августа 2008 г. 9:14, спустя 1 час 2 минуты 38 секунд

    1 оформи код тэками [рhp][/рhp]
    2 полностью весь файл приатач лучше

    вобщем там тебе надо будет три правки сделать или 4

    $chars = array ("0-9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","R","S","T","U","V","W","X","Y","Z","all");


    дописать сюда русский

    if (isset($char))

    добавить ниже проверку на русский
    и критерий поиска
    $q = "NOT REGEXP '^[а-яё]'";

  • yozh

    Сообщения: 3 Репутация: N Группа: Кто попало

    Spritz 13 августа 2008 г. 8:35, спустя 23 часа 21 минуту 42 секунды

    Спасибо, CTAPbIu_MABP.
    Суть, в принципе, понятна, но попытки изменить код тщетны. Сервер выдает ошибку.
    Если не трудно, разжуйте, пожалуйста. Текст в .zip прилагается.
    Заранее признателен.
    1. album.zip (96)
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 13 августа 2008 г. 9:32, спустя 56 минут 24 секунды

    CTAPbIu_MABP, удачи ;)
    adw/0
  • md5

    Сообщения: 11948 Репутация: N Группа: в ухо

    Spritz 13 августа 2008 г. 9:34, спустя 2 минуты 19 секунд

    CTAPbIu_MABP, давай!
    хоть соревнования устраивай =)
    все умрут, а я изумруд
  • yozh

    Сообщения: 3 Репутация: N Группа: Кто попало

    Spritz 13 августа 2008 г. 9:44, спустя 9 минут 48 секунд

    CTAPbIu_MABP, спасибо за наводку. Посидел, подумал и поправил код. Заработало! Коряво, конечно, с точки зрения программистов, но я - увы…
    Кому любопытно - поправленный текст прилагается ;)
    1. album_1.zip (101)
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 13 августа 2008 г. 9:50, спустя 5 минут 47 секунд

    md5, adw0rd, с вас приз для yozh

    ЗЫ молодес! я код глянул и испугался)))
  • md5

    Сообщения: 11948 Репутация: N Группа: в ухо

    Spritz 13 августа 2008 г. 9:51, спустя 1 минуту 42 секунды

    CTAPbIu_MABP, дай и нам на водку!
    все умрут, а я изумруд

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