Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Триган
1 / 1 / 0
Регистрация: 23.11.2013
Сообщений: 41
1

Как отображать сообщения в форуме так, чтобы они не накладывались друг на друга?

30.09.2014, 13:40. Просмотров 870. Ответов 6
Метки нет (Все метки)

Делаю форум, и сталкнулся с такой проблемой. Как отображать сообщения так что бы они не накладывались дру гна друга? Подумал что выводить сообщение в таблицу самый лучший вариант! Вот что у меня получилось

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?
$mesage=$_GET['mesage'];
$link = mysql_connect('localhost', 'root');
mysql_query("set names 'utf8'");
 
 
        
        
echo "<table width='835' border='1' cellspacing='1' cellpadding='1' bgcolor='#262323' >";
 echo "<tr>";
 echo "<td colspan='6' height='30'><div class='text3'>Dota 2</div> </td>";
 echo "</tr>";
 
 
 
 
if (isset($_GET["enter"])){ // услови нажатия кнопки
$count = $_GET['count'] ? $_GET['count'] : 1;
 
    //определяю id авторизованного пользователя
    $x = mysql_query ("SELECT id_user FROM brutal WHERE mail='".$_SESSION['mail']."'");
    for ($c=0; $c<mysql_num_rows($x); $c++)
    {
    $z = mysql_fetch_array($x);
    $identif=$z[id_user];
    }
    $db_selected = mysql_select_db('brutalmgn', $link);
    mysql_query("insert into test  values ( '$identif','$mesage')",$link);
    //и заношу id и сообщение в табл тест
    
    
for ($i=1; $i<=$count; $i++) // цикл для создания строк
 {
 
 echo "<tr>";
 echo "<td height='50' width='104'>      </td>";
 echo "<td height='50' width='718'>";
 
 //Вывожу из таблицы тест сообщене
 $q = mysql_query ("SELECT mesage FROM test");
 for ($c=0; $c<mysql_num_rows($q); $c++)
 {
 $f = mysql_fetch_array($q);
 echo "$f[mesage] "; 
 }
 //Вывожу из таблицы тест сообщене
 
 echo "</td>";
 echo "</tr>";
 }
 }
 
 
echo "</table>";
 
?>
Пользователи хранятся в одной таблице а сообщения в другой.
Неполучается зделать так что бы сообщения корректно выводились.
Выводится так: Ввёл сообщение нажал кнопку отпиравить, создалось строка таблицы сообщение вывелось Сообщение_1
Сново набираю сообщение, отправляю, создаётся строка в таблице но и в перевой и во второй строке выводится Сообщение_1 Сообщение_2
Как этого избежать?? буду рад любой идее или подсказке
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.09.2014, 13:40
Ответы с готовыми решениями:

Как в PHP отделить элементы друг от друга, чтобы не ругались друг на друга?
&lt;?php $chitat = fopen('yoo.txt', 'r'); if (!$chitat) { echo 'Ошибка при открытии файла...

Как расположить кнопки, чтобы они не накладывались друг на друга?
Помогите найти ошибку. Пишу программу, которая динамически порождает кнопки. Не могу дописать...

Как сделать так чтобы при спавне предметов они отталкивались друг от друга если они спавнятся близко С#
Есть загвоздка, не как не могу понять как это релизовать, приведу пример : происходит спавн кубов...

Как сделать, чтобы картинка и текст в Label не накладывались друг на друга
Добрый день! У меня есть label, включил для него иконку. Нужно, чтобы иконка показывалась слева...

Как выводить в Txt файл значения так, чтобы они не заменяли друг друга
Вот такая вот программа. На строчках 46-49 она должна записывать значения в файл. Можно ли...

6
pav1uxa
1888 / 1732 / 813
Регистрация: 23.01.2014
Сообщений: 6,132
Завершенные тесты: 1
30.09.2014, 18:57 2
Лучший ответ Сообщение было отмечено Триган как решение

Решение

Цитата Сообщение от Триган Посмотреть сообщение
буду рад любой идее или подсказке
Во-первых, у Вас вывод сообщений получается только после того как кто-то отправил его. По-моему это немного неправильно. В блоке
PHP
1
2
3
4
if (isset($_GET["enter"]))
{
///
}
Наверное должны быть описаны только действия, добавляющие новое сообщение.

А вывод сообщений убрать за эти скобки. И echo "<table>..." перенести поближе.

Во-вторых, у Вас 2 цикла при выводе сообщений (2 цикла for), поэтому в каждой строке у Вас будут все сообщения. Избавьтесь от одного.
1
Триган
1 / 1 / 0
Регистрация: 23.11.2013
Сообщений: 41
01.10.2014, 13:53  [ТС] 3
Цитата Сообщение от pav1uxa Посмотреть сообщение
Во-первых, у Вас вывод сообщений получается только после того как кто-то отправил его. По-моему это немного неправильно. В блоке
То есть сначало надо выводить сообщение на экран а потом заносить в бд?

Добавлено через 23 минуты
Цитата Сообщение от Триган Посмотреть сообщение
Во-первых, у Вас вывод сообщений получается только после того как кто-то отправил его. По-моему это немного неправильно. В блоке
То есть сначало надо выводить сообщение на экран а потом заносить в бд?
Всё я разобрался))) Спасибо большое, правильно говорят что хороший совет дороже денег)))
0
pav1uxa
1888 / 1732 / 813
Регистрация: 23.01.2014
Сообщений: 6,132
Завершенные тесты: 1
01.10.2014, 14:04 4
Цитата Сообщение от Триган Посмотреть сообщение
То есть сначало надо выводить сообщение на экран а потом заносить в бд?
Я просто не знаю что Вы пишите...

Ну вот взять к примеру форум. Вы заходите на него - и сразу видите чьи то сообщения, или Вы их видите только после того как напишите свое?..
0
Триган
1 / 1 / 0
Регистрация: 23.11.2013
Сообщений: 41
09.10.2014, 00:25  [ТС] 5
Цитата Сообщение от pav1uxa Посмотреть сообщение
Я просто не знаю что Вы пишите...
Ну вот взять к примеру форум. Вы заходите на него - и сразу видите чьи то сообщения, или Вы их видите только после того как напишите свое?..
Я разобрался как корректно выводить сообщения, но действитеьно
Цитата Сообщение от pav1uxa Посмотреть сообщение
Вы заходите на него - и сразу видите чьи то сообщения
, это никак не получается
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
$mesage=$_GET['mesage'];
$link = mysql_connect('localhost', 'root');
mysql_query("set names 'utf8'");
//определяю id авторизованного пользователя
    $x = mysql_query ("SELECT id_user FROM brutal WHERE mail='".$_SESSION['mail']."'");
    for ($c=0; $c<mysql_num_rows($x); $c++)
    {
    $z = mysql_fetch_array($x);
    $identif=$z[id_user];
    }
 
        
        
echo "<table width='835' border='1' cellspacing='1' cellpadding='1' bgcolor='#262323' >";
 echo "<tr>";
 echo "<td colspan='6' height='30'><div class='text3'></div> </td>";
 echo "</tr>";
 if (isset($_GET["enter"])){ // услови нажатия кнопки
 $db_selected = mysql_select_db('brutalmgn', $link);
 mysql_query("insert into test  values ( '$identif','$mesage')",$link); // Заношу сообщение в бд
 $q = mysql_query ("SELECT mesage FROM test"); //выводит сообщения из бд
 for ($i=1; $i<=mysql_num_rows($q); $i++) // цикл для создания строк
 {
 
 echo "<tr>";
 echo "<td height='50' width='104'>      </td>";
 echo "<td height='50' width='718'>";
 
 $f = mysql_fetch_array($q);
 echo "$f[mesage]" ; 
 
 echo "</td>";
 echo "</tr>";
 }
 }
echo "</table>";
?>
0
pav1uxa
1888 / 1732 / 813
Регистрация: 23.01.2014
Сообщений: 6,132
Завершенные тесты: 1
09.10.2014, 09:53 6
Лучший ответ Сообщение было отмечено Триган как решение

Решение

Цитата Сообщение от Триган Посмотреть сообщение
, это никак не получается
Просто надо убрать блок код, отвечающий за вывод сообщений, из структуры
PHP
1
2
3
4
if (isset($_GET["enter"]))
{
...
}
1
Триган
1 / 1 / 0
Регистрация: 23.11.2013
Сообщений: 41
10.10.2014, 20:32  [ТС] 7
Цитата Сообщение от pav1uxa Посмотреть сообщение
Просто надо убрать блок код, отвечающий за вывод сообщений, из структуры
Код PHP
1
2
3
4
if (isset($_GET["enter"]))
{
...
}
Спасибо, разобрался)
0
10.10.2014, 20:32
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2014, 20:32

Сделать, чтобы элементы Canvas не накладывались друг на друга
Доброго времени суток, хотел узнать если у Canvas какой нибудь параметр который , обрезает дочернии...

Расставить в клетках K ферзей так, чтобы они друг друга не били
Очень нужна помощь! Напишите, пожалуйста, код программы (а если с пояснениями что в нем...

Разместить 8 ферзей на доске так чтобы они не били друг друга
Надо разместить 8 ферзей на доске так чтобы они не били друг друга вот код ну мне нужно ещё...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru