За последние 24 часа нас посетили 18867 программистов и 1639 роботов. Сейчас ищут 967 программистов ...

Форум (Закрепить топик, Новые сообщения)

Тема в разделе "Прочие вопросы по PHP", создана пользователем Апельсин, 24 мар 2010.

  1. Апельсин

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

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    Нужно пару фич для форума доделать. Интерисуют две вещи:
    1. Как организовать "Закрепить топик", чтоб всегда вверху показывался. То у меня топы на страницу выводятся в порядке убывания согласно даты последнего сообщения в них. Мысли есть, но чтоб на грабли не наступать..
    Интерисует алгоритм как это делается, а не готовое решение.
    2. Как помечаются сообщения, когда юзер отсутствует на форуме и потом отмечаются как новые. То есть при заходе на форум выделены некоторые топы с новыми сообщениями.
     
  2. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
  3. Апельсин

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

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    мдя.. фишка "Новые сообщения" - зло для быстроты :(
    спасиб за ссылк0.

    Кстати, экспресс-вопрос: оператор DELETE нельзя объединять чтобы одним запросом грохать по неск записей?
    То есть в один запрос вписать таких два:
    DELETE FROM `users` WHERE `name` = 'lol'
    DELETE FROM `book` WHERE `name` = 'lol'
     
  4. karakh

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

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    Можно, начиная с MySQL 4
     
  5. Апельсин

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

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    karakh
    Покаж объединящий запрос вместо этих двух моих?
     
  6. karakh

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

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    Сейчас под рукой мускуля нет, попробуй

    [sql]DELETE u, b
    FROM `users` as u, `book`as b
    WHERE a.name=b.name and a.name='lol'
    [/sql]

    или
    [sql]DELETE FROM `users`, `book`
    USING
    `users`
    LEFT JOIN `book` ON `book`.`name` = `users`.`name`
    WHERE a.name='lol'[/sql]