За последние 24 часа нас посетили 17629 программистов и 1628 роботов. Сейчас ищут 1685 программистов ...

Выборка по максимальному значению ID

Тема в разделе "PHP и базы данных", создана пользователем Den1s, 13 авг 2008.

  1. Den1s

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

    С нами с:
    10 авг 2008
    Сообщения:
    19
    Симпатии:
    0
    Адрес:
    Siberia
    Задача такова: есть форма, с полями 'thread_title' и 'post_msg'. есть 2 таблицы БД, таблица forum_thread с заголовками в которой поле 'threadid' автоинкремент, поле 'thread_title' текстовое и таблица forum_post в которой так же есть поле 'threadid' и поле 'post_msg'.

    Смысл действий формы- создание новой темы (добавление в thread_title) и занесение поста в таблицу forum_post. Встал перед такой проблемой, сообщение должно заносится в таблицу с только что созданным (точнее даже, с тем, который внесется в базу после отправки) значением threadid. После отправки поста, пользователь должен переместиться в новую созданную тему.

    вопрос: как мне заносить пост с только что созданным при занесении заголовка threadid. чтобы после отправки выполнялось
    Код (Text):
    1. header ("location: view.php?threadid=$threadid");
    как я понял, мне нужно до занесения поста, вычислить максимальное значение threadid, увеличить на единицу и вносить с этим параметром.[/code]
     
  2. Luge

    Luge Старожил

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

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

    С нами с:
    10 авг 2008
    Сообщения:
    19
    Симпатии:
    0
    Адрес:
    Siberia
    как я понимаю,
    Код (Text):
    1. mysql_insert_id()
    возвращает последнее значение после операции вставки, а у меня получается что до вставки нужно узнать последнее значение. Для перехода в только что созданную тему этого хватает, а как вот пост вносить в другую таблицу с только что сгенерированным id заголовка.
     
  4. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    как понял:
    forum_thread с автоинкрементом и forum_post где есть ключ связывающий forum_thread с forum_post.
    Если правильно понял, то что мешает записать данные в forum_thread, получить через mysql_insert_id айдишник и уже используя его записать в forum_post?
     
  5. Den1s

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

    С нами с:
    10 авг 2008
    Сообщения:
    19
    Симпатии:
    0
    Адрес:
    Siberia
    Данные и в threadid (таблицы forum_thread) и в post_msg (таблицы forum_post) вносятся из одной формы, одновременно. Потому, если threadid (таблицы forum_thread) после вставки я могу вытянуть ID последней записи, чтобы использовать для автоперехода в только что созданную тему, то текст должен добавится в таблицу forum_post, в которой так же есть поле threadid, по которому определяется принадлежность поста именно к этой теме.
     
  6. Den1s

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

    С нами с:
    10 авг 2008
    Сообщения:
    19
    Симпатии:
    0
    Адрес:
    Siberia
    Все! нашел решение при помощи mysql_insert_id()