За последние 24 часа нас посетил 74321 программист и 10165 роботов. Сейчас ищут 2742 программиста ...

Как организовать пользовательскую почту

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

  1. jenya777777

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

    С нами с:
    16 мар 2010
    Сообщения:
    562
    Симпатии:
    0
    В этом случае, выводит всего одну строку под id = 112 (см. скриншот). По сути должно же выводиться все записи из таблицы messages за исключением тех сообщений которые есть в таблице messages_deleted, но к сожалению выводит всего одну строку

    Код (Text):
    1.  
    2. CREATE TABLE IF NOT EXISTS `usermessages` (
    3.   `id` int(11) NOT NULL AUTO_INCREMENT,
    4.   `nomer` varchar(250) COLLATE utf8_unicode_ci NOT NULL,
    5.   `from` int(11) DEFAULT NULL,
    6.   `to` int(11) DEFAULT NULL,
    7.   `message` text COLLATE utf8_unicode_ci NOT NULL,
    8.   `date` varchar(240) COLLATE utf8_unicode_ci NOT NULL,
    9.   `new` varchar(10) COLLATE utf8_unicode_ci NOT NULL,
    10.   `from_del` int(11) NOT NULL,
    11.   `to_del` int(11) NOT NULL,
    12.   PRIMARY KEY (`id`),
    13.   KEY `to` (`to`),
    14.   KEY `from` (`from`),
    15.   KEY `new` (`new`)
    16. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=114 ;
    17.  
    18. INSERT INTO `usermessages` (`id`, `nomer`, `from`, `to`, `message`, `date`, `new`, `from_del`, `to_del`) VALUES
    19. (102, 'message4d7a0897473154d7a08974732e', 12, 21, 'привет!', '03.11.2011  16:03', 'ne', 0, 0),
    20. (103, 'message4d7a0897473154d7a08974732e', 21, 12, 'привет!', '03.11.2011  16:03', 'ne', 0, 0),
    21. (104, 'message4d7b520608b5b4d7b520608b70', 12, 21, 'привет!', '03.12.2011  15:03', 'ne', 0, 0),
    22. (105, 'message4d7b520608b5b4d7b520608b70', 21, 12, 'привет!', '03.12.2011  15:03', 'ne', 0, 0),
    23. (106, 'message4d7b524c5a0e24d7b524c5a0fa', 12, 21, 'привет!', '03.12.2011  15:03', 'ne', 0, 0),
    24. (107, 'message4d7b52c6479d04d7b52c6479e7', 12, 21, 'Hello!', '03.12.2011  16:03', 'ne', 0, 0),
    25. (108, 'message4d7b52c6479d04d7b52c6479e7', 21, 12, 'Hello!', '03.12.2011  16:03', 'ne', 0, 0),
    26. (113, 'message4d7b67e5e4d034d7b67e5e4d10', 12, 26, 'привет!', '03.12.2011  17:03', 'yes', 1, 0),
    27. (110, 'message4d7b538c731ae4d7b538c731c4', 12, 26, 'Heloo2', '03.12.2011  16:03', 'yes', 0, 0),
    28. (111, 'message4d7b54517571b4d7b545175729', 12, 21, 'Hello4', '03.12.2011  16:03', 'ne', 0, 0),
    29. (112, 'message4d7b54517571b4d7b545175729', 21, 12, 'Hello30', '03.12.2011  16:03', 'ne', 1, 1);
    30.  
    31. CREATE TABLE IF NOT EXISTS `message_deleted` (
    32.   `id` int(11) NOT NULL AUTO_INCREMENT,
    33.   `message_id` int(11) NOT NULL,
    34.   `user_id` int(11) NOT NULL,
    35.   PRIMARY KEY (`id`),
    36.   KEY `user_id` (`user_id`),
    37.   KEY `message_id` (`message_id`)
    38. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=4 ;
    39.  
    40. --
    41. -- Дамп данных таблицы `message_deleted`
    42. --
    43.  
    44. INSERT INTO `message_deleted` (`id`, `message_id`, `user_id`) VALUES
    45. (1, 112, 12),
    46. (2, 112, 21),
    47. (3, 111, 12);
     
  2. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.547
    Симпатии:
    0
    Адрес:
    Мариуполь
    SELECT *
    FROM usermessages
    WHERE `from` = '12'
    AND id NOT
    IN (
    SELECT message_id
    FROM message_deleted
    WHERE user_id = '12'
    )
     
  3. jenya777777

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

    С нами с:
    16 мар 2010
    Сообщения:
    562
    Симпатии:
    0
    уф, спасибо большое tommyangelo за терпение, теперь получилось.
     
  4. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.547
    Симпатии:
    0
    Адрес:
    Мариуполь
    тогда столбцы `from_del`, `to_del` можно и удалить)