За последние 24 часа нас посетили 34211 программистов и 1709 роботов. Сейчас ищут 774 программиста ...

Множественное число товара

Тема в разделе "PHP для новичков", создана пользователем SpikePHP, 18 авг 2017.

  1. SpikePHP

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

    С нами с:
    6 май 2015
    Сообщения:
    130
    Симпатии:
    23
    Привет!

    Интернет-магазин. Строка поиска. Пользователь вводит "зонтики". А в базе наименование товара "зонтик".

    Как привести множественную форму к единственной форме. И наоборот, вдруг пользователь введёт "гвоздь", а в базе наименование "гвозди"?
     
  2. Danil005

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

    С нами с:
    2 янв 2015
    Сообщения:
    528
    Симпатии:
    30
    Нужно делать SQL запрос:
    SELECT * FROM table WHERE content LIKE '%". $word. "%'

    где word - слова, где content - столбик с названиями
     
  3. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.816
    Симпатии:
    1.333
    Адрес:
    Лень
    $word = substr( $text, 0, 4 );
    :)
     
    Danil005 нравится это.
  4. SpikePHP

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

    С нами с:
    6 май 2015
    Сообщения:
    130
    Симпатии:
    23
    Нет, гайсы, вы не поняли. Слов будет очень много, так что для каждого слова писать вариант c substr будет плохой идеей.
     
  5. Danil005

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

    С нами с:
    2 янв 2015
    Сообщения:
    528
    Симпатии:
    30
    Почитай уже готовое решение. Нет смысла расписывать его здесь.
     
  6. xaker01

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

    С нами с:
    16 апр 2016
    Сообщения:
    210
    Симпатии:
    34
    так зачем для каждого слова, цикл.
     
  7. SpikePHP

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

    С нами с:
    6 май 2015
    Сообщения:
    130
    Симпатии:
    23
    @Danil005 мне нужен не поиск, мне нужно, чтобы множественная форма товара автоматически преобразовывалась в единственную, и наоборот.

    Если пользователь пишет "телефоны", чтобы преобразовывалось в "телефон". И наоборот.
    Как это сделать на php?
    --- Добавлено ---
    Может существует какой-нибудь словарь русских слов в единственной и множественной формах? Как такое подключить? Как такие штуки делаются?
     
  8. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    Есть PHPMorphy, он давно не обновлялся, но вроде скачать можно. Потом, можно попробовать Full Text-индексы в mysql, и match against, ну и наконец, можно попробовать sphinx или аналог. У сфинкса точно есть русская морфология, поскольку автор из России.
     
    SpikePHP нравится это.
  9. SpikePHP

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

    С нами с:
    6 май 2015
    Сообщения:
    130
    Симпатии:
    23
    @mkramer как всегда полезный ответ! Спасибо!