|
PHP: разрабатываем свой xForum Никита "Nikitos" Кислицин Xakep, номер #050, стр. 050-086-4 $a=mysql_query($sql); # отправляет запрос серверу } function showmessages($page) #функция, постранично выводящая темы форума { $from=30*($page-1); # считаем параметр $from $sql2="select * from xforum"; $res2=mysql_query($sql2); $a=mysql_num_rows($res2); #считаем количество тем в форуме $b=ceil($a/30); # считаем количество страниц с результатами запроса echo "Страницы: "; for ($i=1; $i<=$b; $i++) {if ($i!=$page) {echo "<a href=forum.php?page=$i>";} echo "$i"; if ($i!=$page) {echo "</a>";} echo " ";} # выводим в цикле список доступных страниц с сообщениями $sql="select * from xforum order by 'pid' desc limit $from,29"; #запрос на постраничный вывод дискуссий форума $res=mysql_query($sql); head(); # Создаем таблицу с темами while($result=mysql_fetch_array($res)) # Выводим темы { $head=substr($result[post],0,60); // беру первые 60 символов сообщения $sql="select * from xanswer where pid='$result[pid]'"; $a=mysql_query($sql); $otvetov=mysql_num_rows($a); // Считаем количество ответов по данной теме echo "<tr bgcolor=white><td><a href=forum.php?pid=$result[pid]&act=read>$head</a></td><td><a href=mailto:$result[author_email]>$result[author_name]</a></td><td>$result[date]</td><td>$result[time]</td><td>$otvetov</td></tr>"; // Выводим строку таблицы } echo "</table>"; } function reply($pid,$messg,$name,$email) # функция, добавляющая ответ на сообщение номер $pid { $date = date("Y-m-d"); $time = date("H-i"); $sql="insert into xanswer values(null, '$pid', '$messg','$name','$email','$date', '$time', '$REMOTE_ADDR')"; $a=mysql_query($sql); } function showmessg($pid) # функция, выводящая вопрос дискуссии { $sql="select * from xforum where pid='$pid'"; $a=mysql_query($sql); $b=mysql_num_rows($a); if($b==0) { $ok=false; } else { $result=mysql_fetch_array($a); echo "<table width=65%><tr><td bgcolor=#FFCC00 width=15%>Автор: $result[author_name]<br>Дата: $result[date]<br>Время: $result[time]<br>Ip: $result[ip]</td><td bgcolor=#889DAA>$result[post]</tr></td></table> "; } } function replies($pid) # Функция, выводящая все ответы на вопрос дискуссии { $sql="select * from xanswer where pid='$pid'"; $a=mysql_query($sql); echo "<table width=65%>"; while($result=mysql_fetch_array($a)) { echo "<tr><td bgcolor=#FFA54A width=15%>Автор: $result[author_name]<br>Дата: $result[date]<br>Время: $result[time]<br>Ip: $result[ip]</td><td bgcolor=#CFCFCF>$result[answer]</tr></td>"; } echo "</table>"; } #Началась сама программа $db=connect(); // Подключаемся mysql_select_db("test",$db); if (!isset($act)) {if (!isset($page)) {$page=1;} showmessages($page); #Если скрипт без параметров, то просто выводим последние 30 тем и предлагаем пользователю добавить свою собственную |