Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

   Интернет технологии -> PHP -> Форум, работающий с базой данных MySQL


Форум, работающий с базой данных MySQL

Чтение топика

Это довольно объемная часть скрипта, по ходу дела я буду давать пояснения.

elseif ($action=="read_topic") {
if ($top_name) {
connect ();

// В этом случае данные выбираются из 2-х таблиц-topics и info.
$query="select message,post_date,info.posts,
info.email from topics,info where topics.name=
info.name and topics.top_name='$top_name' and topics.name='$name'"; $result=mysql_query ($query); $row=mysql_fetch_array ($result); $message=$row["message"]; $post_date=$row["post_date"]; $posts=$row["posts"]; $email=$row["email"]; // Вырезаем теги <br>, чтобы они не отображались на странице. $message=str_replace ("&lt;br&gt;","",$message); $char=$message; // Эта куча преобразований позволяет помещать
//в сообщения смайлики и выводить их на экран в виде рисунков. $char=str_replace (":)","<img src='./images/smile.gif'>",$char); $char=str_replace (":(","<img src='./images/frown.gif'>",$char); $char=str_replace (":o","<img src='./images/redface.gif'>",$char); $char=str_replace (":D","<img src='./images/biggrin.gif'>",$char); $char=str_replace (";)","<img src='./images/wink.gif'>",$char); $char=str_replace (":p","<img src='./images/tongue.gif'>",$char); $char=str_replace (":cool:","<img src='./images/cool.gif'>",$char); $char=str_replace (":rolleyes:","<img src='./images/rolleyes.gif'>",$char); $char=str_replace (":mad:","<img src='./images/mad.gif'>",$char); $char=str_replace (":eek:","<img src='./images/eek.gif'>",$char); $char=str_replace (":confused:","<img src='./images/confused.gif'>",$char); print_header (); ?> // Теперь все выбранные данные помещаем в html-таблицу и выводим на экран. <p align=right>| <a href="<?php echo $script ?>">Go to topics</a> |
<a href="<?php echo $script ?>?action­d_new_top"> Post new topic</a> | <a href="<?php echo $script ?>?action=post_reply&top_name=
<?php echo $top_name ?>"> Post reply</a> | <p><table cellspacing=0 cellpadding=5 border=1 width.0%> <tr><td alignОnter width§0 bgcolor="D5E6E1">
<font face="Arial" size=2 color="808080">Author</font> <td bgcolor="D5E6E1"><font face="serif" size=2 color="0000ff">
Topic:</font><font face="serif" size=2 color="ff0000">
<?php echo $top_name ?></font></td></tr> <tr><td rowspan=2 bgcolor="D5E6E1" alignОnter>
<font face="serif" size=3 color="ff0000">
<?php echo $name ?></font> <br><font face="serif" size=2 color="0000ff">
Posts:<?php echo $posts ?></font></td> <td bgcolor="e6e8fa" height0>
<font face="serif" size=1 color="000080">Posted:
<?php echo $post_date ?></font> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="mailto:
<?php echo $email ?>"><img src="email.gif" border=0></a> &nbsp;&nbsp;<font face="serif" size=1 color="000080">E-mail </font>
<font face="serif" size=1 color="0000ff"><?php echo $name ?></font> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="<?php echo $script ?>?actionнit&top_name=
<?php echo $top_name ?>&nick=
<?php echo $name ?>&type=message"> <img src="edit.gif" border=0></a>&nbsp;&nbsp;
<font face="serif" size=1 color="000080">
Edit message</font></td></tr> <tr><td bgcolor="f7f7f7"><font face="serif" size=2 color="000080">
<?php echo $char ?></font></td></tr></table> <?php // Ограничиваем количество записей на странице 20 сообщениями. $lines ; $begin=$page*$lines; if (empty ($page)) { $page=0; } // Делаем новый запрос для вывода ответов на топик. $query="select replies.name,reply,reply_date,info.posts,
info.email from replies,info where replies.name=
info.name and replies.top_name=
'$top_name' order by reply_date limit $begin,$lines"; $result=mysql_query ($query); // Дальше все так же,как и в предыдущий раз. while ($row=mysql_fetch_array ($result)) { $nick=$row["name"]; $reply=$row["reply"]; $reply_date=$row["reply_date"]; $posts=$row["posts"]; $mail=$row["email"]; $reply=str_replace ("&lt;br&gt;","",$reply); $char=$reply; $char=str_replace (":)","<img src='./images/smile.gif'>",$char); $char=str_replace (":(","<img src='./images/frown.gif'>",$char); $char=str_replace (":o","<img src='./images/redface.gif'>",$char); $char=str_replace (":D","<img src='./images/biggrin.gif'>",$char); $char=str_replace (";)","<img src='./images/wink.gif'>",$char); $char=str_replace (":p","<img src='./images/tongue.gif'>",$char); $char=str_replace (":cool:","<img src='./images/cool.gif'>",$char); $char=str_replace (":rolleyes:","<img src='./images/rolleyes.gif'>",$char); $char=str_replace (":mad:","<img src='./images/mad.gif'>",$char); $char=str_replace (":eek:","<img src='./images/eek.gif'>",$char); $char=str_replace (":confused:","<img src='./images/confused.gif'>",$char); if (mysql_num_rows ($result)) { ?> <table cellspacing=0 cellpadding=5 border=1 width.0%> <tr><td rowspan=2 bgcolor="e6e8fa" alignОnter width§0>
<font face="serif" size=2 color="0000ff"> <?php echo $nick ?></font><br>
<font face="serif" size=2 color="333300">
Posts:<?php echo $posts ?></font></td> <td bgcolor="e6e8fa" height0>
<font face="serif" size=1 color="000080">
Posted:<?php echo $reply_date ?></font> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="mailto:<?php echo $mail ?>">
<img src="email.gif" border=0></a> &nbsp;&nbsp;</font><font face="serif" size=1 color="000080">
E-mail </font><font face="serif" size=1 color="0000ff">
<?php echo $nick ?></font> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="<?php echo $script ?>
?actionнit&top_name=<?php echo $top_name ?>
&nick=<?php echo $nick ?>&type=reply&reply_date=
<?php echo $reply_date ?>"> <img src="edit.gif" border=0></a>&nbsp;&nbsp;
<font face="serif" size=1 color="000080">
Edit message</font></td></tr> <tr><td bgcolor="f7f7f7"><font face="serif" size=2>
<?php echo $char ?></td></tr></table> <?php } } // Формируем ссылки для навигации по
// страницам в случае, если количество записей больше 20. // Для этого подсчитываем количество записей
//в таблице replies для данного топика. $query="select COUNT(*) as count from replies where top_name='$top_name'"; $result=mysql_query ($query); $items=mysql_fetch_array ($result); $count=$items["count"]; $pagesОil ($count/$lines); // В случае, если количество ответов больше 20,
//формируем ссылки с номерами страниц. if ($count>$lines) { echo "<p align=right>"; for ($i=0;$i<$pages;$i++) { ?> |<a href="<?php echo $script ?>?action=read_topic&top_name=
<?php echo $top_name ?>&name=
<?php echo $name ?>&page=<?php echo $i ?>">
<?php echo ($i+1) ?></a><?php } } } }

Вот и все. Теперь вы видите, как просто можно работать с БД с помощью PHP, и как это облегчает жизнь. Все это остается за кадром, а посетители форума видят обычную html-страницу. Далее рассмотрим, как можно редактировать сообщения.

[Назад] [Содержание] [Вперед]

Автор: OlegTr
Источник: www.zk.ru/alextr/

 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
 
Это интересно
 

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.