Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.02.2011, 00:55   #51
Andruhin
Пользователь
 
Регистрация: 16.10.2010
Сообщений: 48
По умолчанию

Вот здесь,как оказалось проверяет,только первое сообщение на readm == 0,а остальные нет,тобишь,если в первом 1 ,а в остльных 0,то все равно пишет,что новых сообщений нет:
Код:
$zap=mysql_query("SELECT * FROM  `t_messages` WHERE `poluchatel`='$login'",$db)or die('Error: ' . mysql_error());
$ros = mysql_fetch_assoc($zap);
  if	(mysql_num_rows($zap)>0)
  {
  	if ($ros['readm'] == 0)
  	{
  			echo "<a href='mail.php'><img src='images/activemail.gif' alt='новое письмо' /> новое письмо </a>"."</br>";
  		}
  		else
  		
  		{
  			echo "<a href='mail.php'><img src='images/nomail.gif' alt='новых писем нет' /> новых писем нет </a>"."</br>";
  			}
  	}
  	else
  	{
  			echo "<a href='mail.php'><img src='images/nomail.gif' alt='новых писем нет' /> новых писем нет </a>"."</br>";
  		}
Andruhin вне форума Ответить с цитированием
Старый 07.02.2011, 00:59   #52
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Ну было ж так:
Цитата:
while ($ros = mysql_fetch_assoc($zap) )

{

echo "<a href='readmsg'>".$ros['subject']."</a></br>";

}
Используй цикл.

PS: почитай уже что-нибудь, а то уже сил нет одно и тоже повторять...
Andkorol вне форума Ответить с цитированием
Старый 07.02.2011, 01:18   #53
Andruhin
Пользователь
 
Регистрация: 16.10.2010
Сообщений: 48
По умолчанию

ты не прав,если сделать через цикл
Код:
while ($ros = mysql_fetch_assoc($zap) )
 
 { if	(mysql_num_rows($zap)>0)
  {
  	if ($ros['readm'] == 0)
  	{
  			echo "<a href='mail.php'><img src='images/activemail.gif' alt='новое письмо' /> новое письмо </a>"."</br>";
  		}
  		else
  		
  		{
  			echo "<a href='mail.php'><img src='images/nomail.gif' alt='новых писем нет' /> новых писем нет </a>"."</br>";
  			}
  	}
  	else
  	{
  			echo "<a href='mail.php'><img src='images/nomail.gif' alt='новых писем нет' /> новых писем нет </a>"."</br>";
  		}	
  	}
То выведит два раза(или сколько там писем есть) картинку,с сообщением,есть или нет новое письмо
Andruhin вне форума Ответить с цитированием
Старый 07.02.2011, 01:27   #54
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цикл должен быть после проверки,что письма есть вообще...

Это происходит потому,что знаний нет - поэтому ты тыкаеш фрагменты кода наугад...
В теме более 50-ти сообщений - и всё ради 10-ти строчек кода(5-10мин с проверками)
Цитата:
ты не прав,если сделать через цикл
смешно...)))
Andkorol вне форума Ответить с цитированием
Старый 07.02.2011, 01:54   #55
Andruhin
Пользователь
 
Регистрация: 16.10.2010
Сообщений: 48
По умолчанию

Цикл должен быть после проверки,что письма есть вообще--тем не менее это не решает проблему,с тем что выводит несколько раз
Andruhin вне форума Ответить с цитированием
Старый 07.02.2011, 02:01   #56
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Так ты ж сам говорил,что должна быть ссылка(тема сообщения),и по клику на неё - соответствующее сообщение будет выводиться полностью.

Так вот если таких сообщений будет несколько - соответственно будет несколько ссылок-тем, отдельно для каждого сообщения:
<картинка>Тема сообщения 1
<картинка>Тема сообщения 2
....
<картинка>Тема сообщения N

Что не так...???
По-моему ты сам не знаеш чего хочеш...
Andkorol вне форума Ответить с цитированием
Старый 07.02.2011, 11:42   #57
Andruhin
Пользователь
 
Регистрация: 16.10.2010
Сообщений: 48
По умолчанию

Да нет знаю,просто сначала будет одна ссылка с картинкой,где показываеться есть ли новые письма,а когда уже в неё входишь,то там список,с темами писем,а когда уже по ним кликаешь открыветься полностью письмо.
Andruhin вне форума Ответить с цитированием
Старый 07.02.2011, 11:56   #58
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Ну так делай - всё в твоих руках...))
Вначале топика ты пишеш одну задачу - а потом оказывается, что нужно совершенно другое....

В этом случае нужно сначала не выбирать письма вообще,а просто получить кол-во непрочитанных писем(COUNT(*) где readm = '0') - и если кол-во больше нуля,то есть новые письма,если 0 - то нет.
Andkorol вне форума Ответить с цитированием
Старый 07.02.2011, 12:36   #59
Andruhin
Пользователь
 
Регистрация: 16.10.2010
Сообщений: 48
По умолчанию

Эт всё правильно,но письма у которых readm==1(то есть прочитанные),не являются новыми,то есть количество в базе может быть больше 0,но из-за того что они прочитанные,значит "нет новых писем"
Andruhin вне форума Ответить с цитированием
Старый 07.02.2011, 13:00   #60
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Ну так я ж и говорю - считай только те,которые непрочитаны:
Цитата:
COUNT(*) где readm = '0'
Условие добавь в запрос - и все дела...
Будет тебе кол-во "только непрочтённых" писем.
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не удаляется почтовый ящик в программе The Bat Kapitann Операционные системы общие вопросы 2 18.05.2017 12:02
Как создать электронный почтовый ящик используя HTML - для своего сайта. Dimon18 HTML и CSS 2 31.01.2011 12:25
Внутренняя ошибка makarov.y Общие вопросы Delphi 3 16.12.2010 20:32
Запись текста в текст бок(edit1.text) и отправка его на почтовый ящик Memfis1992 Общие вопросы Delphi 2 16.06.2010 13:10
C++: Нужна функция, которая отсылает электронное письмо на почтовый ящик kolchakA Фриланс 5 08.12.2009 00:45