Именно так сейчас все работает, но блок с диалогами интерактивный, а так же обновляется, когда вам приходит новое сообщение в любом из диалогов. Поэтому у пользователей с количеством диалогов, например 10, каждые 3-5 секунд обновляется блок, в котором 1+10*2=21 запросов в бд. Плюс выводится счетчик новых сообщений для каждого, так что 21+10=31. И это если 1 пользователь онлайн..
Вы правы, но список диалогов выглядит из имен собеседников. Помогите достать еще и это из бд. Посмотрите код который я использовал ранее. Он выводил диалоги с данными о собеседнике из поля user1 или user2 таблицы conversation.