За последние 24 часа нас посетили 18069 программистов и 1700 роботов. Сейчас ищут 1510 программистов ...

Как сделать поиск в базе по алфавиту? (рус/англ)

Тема в разделе "PHP и базы данных", создана пользователем PRO1rock1, 1 мар 2006.

  1. PRO1rock1

    PRO1rock1 Guest

    Вопрос такой:
    Есть база с песенками. Есть страничка для навигации. На этой странике надо поместить ссылочный алфавит, а-ля:
    A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
    А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я

    И как тут быть? Неужели на каждую букву отдельный sql-запрос делать?! :shock:
     
  2. wolandino

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

    С нами с:
    5 фев 2006
    Сообщения:
    193
    Симпатии:
    0
    Адрес:
    Россия, Астрахань
    отдельный?) жирно получится) посмотри в интернете...видел статью, найду - кину ссылку
     
  3. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    тебе надо посчитать кол-во названий на букву или что?
     
  4. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    Код (Text):
    1. mysql> select upper(substring(text,1,1)) as FIRST, count(*) as CNT
    2. from messages
    3. group by FIRST
    4. order by CNT ;
    5. +-------+-----+
    6. | FIRST | CNT |
    7. +-------+-----+
    8. | Ж     |   1 |
    9. | M     |   1 |
    10. | Ф     |   1 |
    11. | А     |   1 |
    12. | Ч     |   1 |
    13. | S     |   1 |
    14. | Э     |   1 |
    15. | И     |   2 |
    16. | Я     |   2 |
    17. | Т     |   2 |
    18. | 2     |   2 |
    19. | U     |   2 |
    20. | Б     |   2 |
    21. | &     |   2 |
    22. | Г     |   3 |
    23. | «     |   4 |
    24. | <     |   5 |
    25. | У     |   6 |
    26. | К     |   6 |
    27. | Р     |   7 |
    28. | Д     |   7 |
    29. | З     |   8 |
    30. | Л     |  10 |
    31. | О     |  12 |
    32. | С     |  15 |
    33. | М     |  16 |
    34. | Н     |  19 |
    35. | В     |  27 |
    36. | П     |  29 |
    37. |       | 103 |
    38. +-------+-----+
    39. 30 rows in set (0.00 sec)
    40. mysql> select upper(substring(text,1,1)) as FIRST, count(*) as CNT
    41. from messages
    42. group by FIRST
    43. order by FIRST ;
    44. +-------+-----+
    45. | FIRST | CNT |
    46. +-------+-----+
    47. |       | 103 |
    48. | &     |   2 |
    49. | 2     |   2 |
    50. | <     |   5 |
    51. | M     |   1 |
    52. | S     |   1 |
    53. | U     |   2 |
    54. | А     |   1 |
    55. | Б     |   2 |
    56. | В     |  27 |
    57. | Г     |   3 |
    58. | Д     |   7 |
    59. | Ж     |   1 |
    60. | З     |   8 |
    61. | И     |   2 |
    62. | К     |   6 |
    63. | Л     |  10 |
    64. | М     |  16 |
    65. | Н     |  19 |
    66. | О     |  12 |
    67. | П     |  29 |
    68. | Р     |   7 |
    69. | С     |  15 |
    70. | Т     |   2 |
    71. | У     |   6 |
    72. | Ф     |   1 |
    73. | Ч     |   1 |
    74. | Э     |   1 |
    75. | Я     |   2 |
    76. | «     |   4 |
    77. +-------+-----+
    78. 30 rows in set (0.02 sec)
     
  5. PRO1rock1

    PRO1rock1 Guest

    Мне надо чтобы при клике на букву "А", выводились все песенки на букву "А"
     
  6. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    Код (Text):
    1. mysql> select text from messages where text like 'И%';
    2. +---------------------------------------+
    3. | text                                  |
    4. +---------------------------------------+
    5. | Именниник!<br>С «Днем Рождения»,брат! |
    6. | Идиот в «ЛЕНТЕ»                       |
    7. +---------------------------------------+
    8. 2 rows in set (0.00 sec)
     
  7. PRO1rock1

    PRO1rock1 Guest

    Это понятно :D . А как сделать, чтобы из каждой буквы алфавита не делать ссылку?
     
  8. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    что-то я не понял ... объясни подробнее
     
  9. PRO1rock1

    PRO1rock1 Guest

    Код (Text):
    1. <? foreach (range('a', 'z') as $letter) {   echo "&nbsp;<a href='sorting_by_alph.php'>$letter</a>";}?>
    Это у меня ссылки на выборку по алфавиту. Надо чтобы, например, я тыкнул на букву "а", и мне из базы должно вывести все песенки которые начинаются с буквы "а". Все равно не понятно? :0)
     
  10. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    ну так передай по ссылке букву и вставь ее в запрос к LIKE?
    непонятно?
     
  11. PRO1rock1

    PRO1rock1 Guest

    Понятно. не понятно как передать значение переменной $letter. :( не подскажешь?
     
  12. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    print '<a href="mypage.php?letter='.urlencode('А').'">';

    mypage.php

    print urldecode($_GET['letter'])
     
  13. PRO1rock1

    PRO1rock1 Guest

    Можешь по порядку обьяснить?
    letter - это моя переменная с буквой, так?
    а что такое 'А'?
    Все осталльное вроде понятно
     
  14. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    когда ты формируешь ссылки, что вместо А подстляешь нужную букву
     
  15. PRO1rock1

    PRO1rock1 Guest

  16. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
  17. PRO1rock1

    PRO1rock1 Guest

    Сорри, что мозги парю, просто я в ПХП тока стал по-немногу разбираться. Много не догоняю, вот и приходится все время спрашивать.
    Код (Text):
    1.  
    2. foreach (range('a', 'z') as $eng_alph) {
    3. print '<a href="mypage.php?letter='.urlencode('$eng_alph').'">$eng_alph</a>';
    4.  
    5. }
    Так правильно? Если нет, то может ты напишешь как точно надо?
    Sex Pics Speculum Pool Tits Desk Leather Big-Cock Hot-Mom Ass-Fucking Backseat Curly Missionary Redhead Throat-Fucked Ethnic Brazilian BDSM Smoking Hardcore Lick Shemale Stripper British Juicy Boss Sister Upskirt Drunk Deepthroat Asshole Bukkake Skinny Ebony Knockers Wet Big-Black-Cock Cum-Covered Ball-Licking Housewife
    Shemale Facial Gay-Sex Squirting First-Time Lick Plumper Smokin-Movies Pale Stripper Model Sleeping Clit Park-Sex Threesome Tanned Foreplay Tricked Muff-Diving Cowgirl MILF Beauty Student Oral Uniform Monster-Cock Femdom Speculum Juicy Throat-Fucked Group-Sex Shy Masturbation Mature Couple Hairy Solo Messy-Facials Busty-Teen Long-Hair
     
  18. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    ты пробуй - будут продлемы - пиши. 8)
     
  19. Бутузов

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

    С нами с:
    5 фев 2006
    Сообщения:
    115
    Симпатии:
    0
    Адрес:
    Київ, Україна
    PRO1rock1
    я вот смотрю - класно работается когда работу за тебя другие делают....
     
  20. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    Бутузов
    я записал на его счет. 8) при случае расчитается.
     
  21. PRO1rock1

    PRO1rock1 Guest

    Можно подумать ты как сел за комп, сразу стал гуру программирования.
    И потом, я ведь помочь просил, а не делать за меня работу. Тот кто не хочет помогать, тот и не помогает. Это не обязательство.
     
  22. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    PRO1rock1
    забей ... обычный юмор ...
     
  23. Бутузов

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

    С нами с:
    5 фев 2006
    Сообщения:
    115
    Симпатии:
    0
    Адрес:
    Київ, Україна
    PRO1rock1
    я был лохом, в ворде красил буквочки... меж прочим по учебнику =)
     
  24. PRO1rock1

    PRO1rock1 Guest

    У каждого свои подходы. Я не умею книгами пользоваться. Приходится как то выкручиваться :)
    Plumper Ass-to-Mouth Sybian Dildo Voyeur Public Jizz Sleeping Uniform Soccer Spanish 3some Brunettes Threesome Granny College Latina Bizarre Perky Pure-Sex-Movies Interracial Spy Twink Wrestling Tricked Sunbathing Wife Rough-Sex Brazilian Leather Masturbating Latex Cum-Eating 10+-Inch-Cock Slim Busty-Teen Mistress Dick Latina Pale