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 тем и предлагаем пользователю добавить свою собственную

Назад на стр. 050-086-3  Содержание  Вперед на стр. 050-086-5