За последние 24 часа нас посетили 50253 программиста и 1689 роботов. Сейчас ищут 1165 программистов ...

Как избежать повторения УРЛ'ов

Тема в разделе "PHP для новичков", создана пользователем ALEXU, 28 апр 2011.

  1. ALEXU

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

    С нами с:
    5 апр 2011
    Сообщения:
    79
    Симпатии:
    0
    Адрес:
    Russia
    Привет Всем.

    У меня УРЛ'ы такого типа news/categoriya-novosti/nazvanie-novosti
    и столкнулся с проблемой.
    Как быть если введенный УРЛ уже есть в БД?
    Логично к нему что-то добавлять, например цифры

    Если в БД есть
    news/categoriya-novosti/nazvanie-novosti
    то делаем его
    news/categoriya-novosti/nazvanie-novosti-1
    если есть и такой, то делаем его таким
    news/categoriya-novosti/nazvanie-novosti-2

    т.е. будет добавляться цифра в конце. По такому типу в wordpress сделано.
    Но выдернуть я не нашел где. Там в коде полная каша...

    Как можно сделать, чтобы цифры добавлялись поочередно. Т.е. 1,2,3,4....?
     
  2. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    ALEXU
    Задача не ясна.

    Кто добавляет урлы?
     
  3. karakh

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

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    имхо, самый простой вариант - триггер ON BEFORE INSERT, который выбирает все новости в которых есть такое название, берет последний номер и добавляет единицу к NEW.url

    ну или вообще по другому решать эту проблему
     
  4. ALEXU

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

    С нами с:
    5 апр 2011
    Сообщения:
    79
    Симпатии:
    0
    Адрес:
    Russia
    админ.
    там у меня можно руками УРЛ задать, либо если не задать, то функция название переведет в латиницу и в поле УРЛ'а запишет.
     
  5. ALEXU

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

    С нами с:
    5 апр 2011
    Сообщения:
    79
    Симпатии:
    0
    Адрес:
    Russia
    А не накладно это? А Если новостей 1000?
     
  6. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ALEXU
    ну если индекс по полю построен - то не накладно. вы же не 100000 новостей в день добавляете.