[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PHP обновление сообщений
vasya684
Всем привет! Мне нужно на сайте сделать так, чтобы при новом сообщении в ссылке входящие было написано "+2 сообщения" а при открытии папки сообщений все новые сообщения становились старыми



Спустя 5 минут, 14 секунд (21.05.2012 - 12:28) TranceIT написал(а):
Бюджет какой?

Спустя 9 минут, 30 секунд (21.05.2012 - 12:37) vasya684 написал(а):
в смысле?

Спустя 1 минута, 44 секунды (21.05.2012 - 12:39) TranceIT написал(а):
В смысле денег сколько платите за работу?

Спустя 1 минута, 6 секунд (21.05.2012 - 12:40) vasya684 написал(а):
вообще я хотел чтоб мне просто помогли но все-таки за сколько возьмете

Спустя 7 минут, 51 секунда (21.05.2012 - 12:48) johniek_comp написал(а):
vasya684
Покажи как делал, что не получилось, мы поможем. А просто так тебе писать код ни кто не будет, только за бабки.

Спустя 13 минут, 37 секунд (21.05.2012 - 13:01) vasya684 написал(а):
вот код

<?php
$avatar = getAvatar($_SESSION['login']);
if ($avatar == "")
{
$avatar = "default.jpeg";
}

$messages = getAllMessages(getIDOnLogin($_SESSION["login"]));

if ($from['avatar'] == "")
{
$from['avatar'] = "default.jpeg";
}

for ($i = 0; $i < count($messages); $i++)
{
echo "<a href = 'dia.php?from=".$to['id']."' >
<ul style = 'background: url(images/v.jpeg) repeat-y center top;
list-style-image: url(arrow.gif);'
id='v-menu2'
class='v-menu'>"
;

$from = getUserOnID($messages[$i]["from"]);

echo "<table style = 'margin: 0;'>
<tr><td><p style = 'lign: right;' >
<img src = 'avatars/"
.$from["avatar"]."' alt = 'Аватар' width = '70' />
</td>
<td>От <b>"
.$from["login"]."</b></td>
<td><img style = 'margin: 0;' src = 'avatars/
$avatar' alt = 'Аватар' width = '70' /></td></tr>
</table></p>"
;

echo "<p>".$messages[$i]["message"]."</p>";
echo "<p style = 'float: right; color: green;'>".date("d-m-y H:i:s",$messages[$i]["date"])."</p>";
echo "<a id='submit' href = 'smessage.php?to=".$from["id"]."' title = 'Ответить'>Ответить</a>";
echo "</ul></a>";
}
?>


это у меня выводятся все входящие сообщениея


мне надо создать поле в таблице которое отвечало бы за "новое или старое" сообщение новое - которое пользователь еще не видел, и еще нужно вывести количество новых сообшений

Спустя 43 минуты, 57 секунд (21.05.2012 - 13:45) m4a1fox написал(а):
vasya684
Сами писали?

Спустя 1 минута, 28 секунд (21.05.2012 - 13:47) vasya684 написал(а):
да

Спустя 2 минуты, 58 секунд (21.05.2012 - 13:50) m4a1fox написал(а):
vasya684
Ну тогда замечательно! smile.gif Делаете так. Создаете поле в БД, в него заносите 1 или 0. 1 - не прочтенное, 0 - прочтенное. После чего, когда пользователь читает сообщение, меняете 1 на 0 и все. ....

Спустя 3 минуты, 23 секунды (21.05.2012 - 13:53) vasya684 написал(а):
а поле должно быть tinyint
и дайте sql запрос на создание поля

Спустя 1 минута, 57 секунд (21.05.2012 - 13:55) m4a1fox написал(а):
vasya684
Цитата
а поле должно быть tinyint
Это по желанию. Я бы предпочел ENUM поле.
Цитата
и дайте sql запрос на создание поля

Спустя 5 минут, 57 секунд (21.05.2012 - 14:01) vasya684 написал(а):
да вы не поняли создавать я все умею но мне нужно как поставить по умолчанию 1 надо ставить или нет для поля и как сдлеать чтобы выводилось кол не прочитанных

Спустя 16 минут, 28 секунд (21.05.2012 - 14:18) m4a1fox написал(а):
vasya684
Цитата
нужно как поставить по умолчанию 1

ENUM DEFAULT '1'
Цитата
надо ставить или нет для поля

Надо.
Цитата
и как сдлеать чтобы выводилось кол не прочитанных

COUNT() ... WHERE

Спустя 5 часов, 46 минут, 42 секунды (21.05.2012 - 20:04) vasya684 написал(а):
а как сделать чтобы сообщение становилось прочитанным привидите пожалуйста пример

Спустя 9 минут, 39 секунд (21.05.2012 - 20:14) Kuliev написал(а):
Цитата (vasya684 @ 21.05.2012 - 21:04)
а как сделать чтобы сообщение становилось прочитанным привидите пожалуйста пример

Меняйте значение поля в таблице 1 сообщение не прочитано 0 сообщение прочитано.



$sql = "UPDATE `tbl` SET `flag` = 0 WHERE `id`;


Спустя 15 часов, 18 минут, 53 секунды (22.05.2012 - 11:33) vasya684 написал(а):
сколько будет стоить такой готовый скрипт с количеством новых сообщений я заплачу а то некак не понимаю

Спустя 5 часов, 48 минут, 46 секунд (22.05.2012 - 17:22) vasya684 написал(а):
я готов заплатить

Спустя 1 час, 12 минут, 21 секунда (22.05.2012 - 18:34) vital написал(а):
Цитата
Я бы предпочел ENUM поле.

Зря, чо.
Этому памяти больше надо.

Спустя 17 часов, 16 минут, 50 секунд (23.05.2012 - 11:51) vasya684 написал(а):
кто готов взятьс за работу

Спустя 3 часа, 9 минут, 4 секунды (23.05.2012 - 15:00) Ser18 написал(а):
Это у вас делается для личных сообщений
Или для сообщений в форуме?

Если для личных

Создаете в таблице с сообщениями колонку
При записи нового сообщения у него в эту колонку пишется 1
При просмотре сообщения в эту колонку пишется 0
Перед выводом сообщений считайте сколько строк с 1, столько сообщений не прочитано

А для форума я не помню, надо подумать

Спустя 4 часа, 10 минут, 20 секунд (23.05.2012 - 19:10) vasya684 написал(а):
помогите пожалуйста я заплачу

Спустя 2 дня, 13 часов, 55 минут, 23 секунды (26.05.2012 - 09:06) denis79513 написал(а):
Ну на страницу с сообщение добавь sql запрос который будет менять значение в колонке. Как страница загрузилась => юзер прочитал сообщение => update value

Спустя 1 день, 6 часов, 53 минуты, 40 секунд (27.05.2012 - 15:59) vasya684 написал(а):
как вы не понимаете мне нужен код

Спустя 4 минуты, 18 секунд (27.05.2012 - 16:04) inpost написал(а):
Пиши в раздел "проекты" свою тему, желательно указать бюджет, чтобы не парить мозги людям.

Спустя 2 дня, 19 часов, 57 минут, 50 секунд (30.05.2012 - 12:01) vasya684 написал(а):
<?php
$mysqli = new mysqli("", "", "", "");
$row = $mysqli->query("SELECT `view` FROM `messages` WHERE `from` = '$from'");
setcokie('new_message', mysql_result($row, 0));
if(isset($_POST['ajax']))
$row1 = $mysqli->query("UPDATE..."'.mysql_result($row1, 0)-1.'"");
?>
<?php

echo "<div id = 'message'>
<p id = 'name'>"
.$name."</p>
<p class = 'text'>
"
.$message."
</p>
<form id = 'form' method = 'post' action = ''>
<input type = 'radio' name = 'read' >
<input type = 'submit' name = 'ajax' value = 'Прочитанное' />
</form>
</div>"
;
?>

вот мой код. КАк , все правильно?
но я хотел спросить про структуру таблицы (какое поле создать , отвечающе за статус сообщения(полный sql))

Спустя 34 минуты, 10 секунд (30.05.2012 - 12:36) Ser18 написал(а):
Таблица

ид сообщения
ид кому
ид от кого
текст сообщения
дата
прочитано или нет

Спустя 14 минут, 13 секунд (30.05.2012 - 12:50) vasya684 написал(а):
у меня все есть но как создать поле, мне нужен код на создание последнего поля
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.