Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Гостевая книга, Это финиш, прошу помощи. 
:(
    Опции темы
PARROT
Дата 30.1.2005, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



И еще...
Добавленные сообщения выводятся массивом:

if (!isset($s)) $s=1;
$s=$s-1;
echo"<center>";
$res4=mysql_query("select count(id) from review WHERE parent=0");
$num=mysql_fetch_row($res4);

$numstr=ceil($num[0]/10);
for($i=0; $i<$numstr; $i++){
$start=$i*10+1;
$stop=($i+1)*10;
if($stop>$num[0])
{$stop=$num[0];}
if($start!=$stop)
{
print "<a href=index.php?s=$start style='text-decoration:none'>[$start - $stop]</a> ";
}
else{
print "<a href=index.php?s=$start style='text-decoration:none'>[$start]</a> ";
}
}

И печатаются [1-10] [11-20] и т. д.
Данный вариант меня не очень устраивает, хочу чтобы на одной странице было 10 сообщений, но при этом печаталась [1], следующие 10 сообщений [2], но незнаю как правильно изменить скрипт, пыталась...
Пока тщетно.
Объясните пожалуйста.


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
IZ@TOP
Дата 30.1.2005, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73





--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Mal Hack
Дата 30.1.2005, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(IZ @ 30.1.2005, 12:21)
Желательно с подтверждением, как на этом форуме.

Это уже как максимум...
PM ICQ   Вверх
PARROT
Дата 30.1.2005, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Цитата(PARROT @ 30.1.2005, 13:01)
По сути я хочу сделать гостевую (форум) похожую на ваш форум:
Поэтому возник еще один вопрос (правда о реализации его я еще сама не думала, лучше спросить...)

В меню вашего форума есть:
Тема|Автор|Ответов|Просмотров|Обновление

Я уже реализовала с вашей помощью все меню, кроме обновления, то есть даты обновления последнего комментария к сообщению.

Вопрос:
Как это реализовать?
Можно пример, простой.
С подсказкой лучше думается.
Спасибо!
smile

smile


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
IZ@TOP
Дата 30.1.2005, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Ну так и бери из базы самое свежее сообщение!

например есть у нас таблица с сообщениями:
Код
create table messages (
   id int not null auto_increment,
   thread_id int not null default '0',
   author varchar(30),
   message text,
   lastupdate int(10),
   primary key(id)
);

В поле thread_id, допустим, хранится идентификатор темы, в поле lastupdate записанный timestamp последнего сообщения (то есть мы туда записываем результат работы функции time()), далее выбираем все самые свежие записи для всех имеющихся тем:

Код
select id, author, from_unixtime('%d.%m.%Y', lastupdate) as ddmmyy
   group by thread_id order by lastupdate desc


Получаем данные следующего типа:
Код

array(
   id => 1
   author => IZ@TOP
   ddmmyy => 30.01.2005
)


Ну и т.п.
Добавлено @ 23:05
ЗЫ этот запрос вернет не просто последний ответ в тему, а вернет все последние ответы во все темы. Можно конечно отобрать по ID, тогда надо просто добавить условие на отбор по thread_id.
Добавлено @ 23:05
PARROT, ты только потом обязательно покажи свое твоерение.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
PARROT
Дата 30.1.2005, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Обязательно покажу.
Обновление доделаю, выложу к себе на сервер, остальное по мере дописывания.
Мы еще вместе помучаемся, надеюсь.

Вопрос: Как добавляются плюсы в репутацию?
У меня не получилось добавить.



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
IZ@TOP
Дата 31.1.2005, 01:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



PARROT, по достижении 100 постов и более smile


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
PARROT
Дата 31.1.2005, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Цитата(IZ @ 31.1.2005, 01:32)
PARROT, по достижении 100 постов и более smile

IZ@TOP, я вам хотела добавить ++++, много, за помощь постоянную.


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
IZ@TOP
Дата 31.1.2005, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



PARROT, думаю это еще успеется smile Можно отблагодарить и пивом smile

Так, ладно, давайте приедрживаться темы и не разводить здесь флейм smile

Это сообщение отредактировал(а) IZ@TOP - 31.1.2005, 12:17


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
PARROT
  Дата 31.1.2005, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Цитата(IZ @ 31.1.2005, 12:15)
PARROT, думаю это еще успеется smile Можно отблагодарить и пивом smile

Так, ладно, давайте приедрживаться темы и не разводить здесь флейм smile

Пивом так пивом, без вопросов!



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
PARROT
Дата 31.1.2005, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



С обновлением я справилась, завтра займусь защитой и сразу возник вопрос:
Как защитить форму от обновления по F5 ?
smile


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
IZ@TOP
Дата 31.1.2005, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Код
header('location: file.php');
Юзер даже не заметит что его перенесло, а POST "остаточное явление" исчезнет smile
Можно правда писать юзеру в куки хеш его сообщения и если он совпадет с хешем вновь передаваемых данных, то ни чего в базу не заносим. smile


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
PARROT
Дата 1.2.2005, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



IZ@TOP, защиту написала, все работает.
Возник вопрос по использованию смайликов (он возникал и раньше, на что ответ был таким: Что мне это не нужно!)

Вот код:
<table width=900>
<tr>
<td align=right><a href="index.php">Посмотреть сообщения</td>
</tr>
</table>
<?
$name=$_POST['name'];
$txt=$_POST['txt'];
$capt=$_POST['capt'];
if(isset($send) and $send=="Добавить")
{
if (empty($name) || empty($capt) || empty ($txt)){
echo "<center><font color=red>Не заполнены обязательные поля!</font></center>";
}else{
$text = str_replace(":smile:", "<img src='smile/smile.gif' border=0>", $text);
$text = str_replace(":biggrin:", "<img src='smile/biggrin.gif' border=0>", $text);
$text = str_replace(":cry:", "<img src='smile/cry.gif' border=0>", $text);
$text = str_replace(":eek:", "<img src='smile/eek.gif' border=0>", $text);
$text = str_replace(":razz:", "<img src='smile/razz.gif' border=0>", $text);
$text = str_replace(":cool:", "<img src='smile/cool.gif' border=0>", $text);
$text = str_replace(":mad:", "<img src='smile/mad.gif' border=0>", $text);
$text = str_replace(":rolleyes:", "<img src='smile/rolleyes.gif' border=0>", $text);
$text = str_replace(":redface:", "<img src='smile/redface.gif' border=0>", $text);
$text = str_replace(":confused:", "<img src='smile/confused.gif' border=0>", $text);
$text = str_replace(":wink:", "<img src='smile/wink.gif' border=0>", $text);
$db=mysql_pconnect("localhost","reviews","1538733");
mysql_select_db("reviews");
$data=date("Y.m.d G:i:s");
mysql_query ("INSERT INTO review VALUES ('', '$data', '$capt', '$txt', '$name', '$idp','')");
$msg="<table width=700 border align=center border bordercolor=silver style=border-collapse:collapse><tr><td rowspan=3 valign=top align=center width=100><b>$name</b></td><td style='padding-left:10'><u><b>дата</b></u> $data</td></tr><tr><td colspan=2>$capt</td></tr><tr><td colspan=2>$txt</td></tr></table>";
}
}
?>
<Form action="add.php" Method="POST">
<table height=200 cellpadding="0" cellspacing="0" align="center" border bordercolor=silver style=border-collapse:collapse>
<tr>
<td>
<table cellpadding="0" cellspacing="0" align="center">
<tr>
<td style="padding-left:10">Имя:</td>
<td><Input Type="text" Name="name" maxlength="40" size="48"></td>
</tr>
<tr>
<td style="padding-left:10">тема:</td>
<td><Input Type="text" Name="capt" maxlength="40" size="48"></td>
</tr>
<tr>
<td colspan=2 align=center>Сообщение:</td>
</tr>
<tr>
<td align=justify><img src='smile/smile.gif' border=0><img src='smile/biggrin.gif' border=0><img src='smile/cry.gif' border=0><img src='smile/eek.gif' border=0><br><img src='smile/razz.gif' border=0><img src='smile/cool.gif' border=0><img src='smile/mad.gif' border=0><img src='smile/rolleyes.gif' border=0><br><img src='smile/redface.gif' border=0><img src='smile/confused.gif' border=0><img src='smile/wink.gif' border=0></td>
<td><TextArea name="txt" rows=5 cols=30></TextArea></td>
</tr>
<tr>
<td><Input Type="submit" name=send Value="Добавить" style="cursor:hand"></td>
<td align="right"><Input Type=reset Value="Очистить" style="cursor:hand"></td>
</tr>
</table>
<input type=hidden name=idp value=<? echo $idp; ?>>
</td>
</tr>
</table>
</Form>
<? echo $msg;?>

Я просто даже не понимаю, как это сделать.
Объясни плиз, smile

Как их хранить, выводить и т.д.

Это сообщение отредактировал(а) PARROT - 1.2.2005, 16:34


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
IZ@TOP
Дата 1.2.2005, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



PARROT, у тебя допущено несколько ошибок:

1) Для оптимизации замены смайликов испоьзуй массивы:

Код
$Smiles    = array(
   ':smile:' => '<img src="smile.gif">',
   ':smile2:' => '<img src="smile.2.gif">',
);


$Text = str_replace(array_keys($Smiles), $Smiles, $Text);

Как видишь, при таком обращении с кодом у нас убралось очень много лишнего smile

2) При замене смайлов в переменной $text у тебя появляется много одинарных кавычек в тексте. При добавлении в базу
Код
mysql_query ("INSERT INTO review VALUES ('', '$data', '$capt', '$txt', '$name', '$idp','')");
Скорее всего произойдет ошибка (хотя я последнее время убеждаюсь что у многих начинающих работает то что и вообразить невозможно smile ), так как данные из переменных заклбючены в одинарные кавычки, первая кавычка в тексте закончит поле и далее текст из переменной будет интерпретироваться MySQL как команды...


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
PARROT
Дата 1.2.2005, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



IZ@TOP, посмотри тут мое творение, жду замечаний.

http://www.admin.traktora.spb.ru/

Правда пока без регистрации... не дописала еще.

smile



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0957 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.