Чтение RSS каналов

Форум

Открыть Ответить

Последние комментарии из трех таблиц

0

0
1
17.03.2012 17:33:0025.03.2012 20:34:00
Необходимо объеденить функцию 3х блоков в один. Комментарии должны сортироваться по дате и не должно быть деления на категории внутри блока.
Комменты для Voting, News и Files находятся в таблице Slaed_comments
А вот для модулей Album и Pages они лежат в таблицах Slaed_album_comments и Slaed_pages_comments соответственно.

Цена вопроса 500 р.

block-LastComments.php
<?php
if (!defined('BLOCK_FILE')) {
	Header(&quot;Location: ../index.php&quot;);
	exit;
}
global $prefix, $db;

$strip = 20; #обрезка текста комментария
$limit = 5; #количество комментариев (тем)
$raz_tag = &quot;<b><i><u><s><li><tt>&quot;; #разрешенные теги в комментарии. Набирать БЕЗ ПРОБЕЛОВ между тегами!

$result = $db->sql_query(&quot;SELECT MAX(id) AS maxid, modul, cid  FROM &quot;.$prefix.&quot;_comment GROUP BY modul, cid ORDER BY maxid DESC LIMIT $limit &quot;);
while (list($maxid, $modul, $cid) = $db->sql_fetchrow($result)) {
	$mmaxid[] = $maxid;

	switch($modul) {
		case &quot;Voting&quot;:
	    $mVoting[] = &quot;$cid&quot;;
		break;

		case &quot;News&quot;:
		$mNews[] = &quot;$cid&quot;;
	    break;
	    
		case &quot;Files&quot;:
	    $mFiles[] = &quot;$cid&quot;;
		break;
	
	}
}

//--------- News
$const = sizeof ($mNews); 
if ($const>0) {
	$sql = &quot; SELECT sid, title FROM &quot;.$prefix.&quot;_stories WHERE &quot;;
	for ($i=0; $i<($const-1); $i++) {
		$sql .= &quot; sid='&quot;.$mNews[$i].&quot;' OR &quot;;
	}
	$sql .= &quot; sid='&quot;.$mNews[$const-1].&quot;' &quot;;
	$result = $db->sql_query($sql);
	while(list($sid, $title) = $db->sql_fetchrow($result)) $mtNews[$sid] = $title;
}


//--------- Voting
$const = sizeof ($mVoting);
if ($const>0) {
	$sql = &quot; SELECT poll_id, poll_title FROM &quot;.$prefix.&quot;_survey WHERE &quot;;
	for ($i=0; $i<($const-1); $i++) {
		$sql .= &quot; poll_id='&quot;.$mVoting[$i].&quot;' OR &quot;;
	}
	$sql .= &quot; poll_id='&quot;.$mVoting[$const-1].&quot;' &quot;;
	$result = $db->sql_query($sql);
	while(list($sid, $title) = $db->sql_fetchrow($result)) $mtVoting[$sid] = $title;
}

//--------- Files
$const = sizeof ($mFiles);
if ($const>0) {
	$sql = &quot; SELECT lid, title FROM &quot;.$prefix.&quot;_files WHERE &quot;;
	for ($i=0; $i<($const-1); $i++) {
		$sql .= &quot; lid='&quot;.$mFiles[$i].&quot;' OR &quot;;
	}
	$sql .= &quot; lid='&quot;.$mFiles[$const-1].&quot;' &quot;;
	$result = $db->sql_query($sql);
	while(list($sid, $title) = $db->sql_fetchrow($result)) $mtFiles[$sid] = $title;
}
//---------- Сам блок
$sql = &quot; SELECT cid, modul, date, name, comment FROM &quot;.$prefix.&quot;_comment WHERE &quot;;
for ($i=0; $i<($limit-1); $i++) {
	$sql .= &quot; id='&quot;.$mmaxid[$i].&quot;' OR &quot;;
}
	$sql .= &quot; id='&quot;.$mmaxid[$limit-1].&quot;' ORDER BY id DESC &quot;;

$i=0;
$result = $db->sql_query($sql);
while(list($cid, $modul, $date, $name, $comment) = $db->sql_fetchrow($result)) {
$i++;

$comment = preg_replace(&quot;#\[quote\](.*?)\[/quote\]#si&quot;,&quot;&quot;,$comment);
$comment = preg_replace(&quot;#\[php\](.*?)\[/php\]#si&quot;,&quot;&quot;,$comment);
$comment = preg_replace(&quot;#\[code\](.*?)\[/code\]#si&quot;,&quot;&quot;,$comment);
$comment = preg_replace(&quot;#\[hide\](.*?)\[/hide\]#si&quot;,&quot;&quot;,$comment);
$comment = cutstr(strip_tags(($comment), $raz_tag), $strip);
$date = formatTimestamp($date);

switch($modul) {
	case &quot;Voting&quot;:
    $link = &quot;<a href=\&quot;index.php?name=Voting&op=poll_result&poll_id=$cid\&quot; title=\&quot;&quot;.$mtVoting[$cid].&quot;\&quot;>&quot;;
    break;

	case &quot;News&quot;:
    $link = &quot;<a href=\&quot;index.php?name=News&file=article&sid=$cid\&quot; title=\&quot;&quot;.$mtNews[$cid].&quot;\&quot;>&quot;;
    break;
	
	case &quot;Files&quot;:
    $link = &quot;<a href=\&quot;index.php?name=Files&op=view_file&lid=$cid\&quot; title=\&quot;&quot;.$mtFiles[$cid].&quot;\&quot;>&quot;;
	break;

}

$content .= &quot;
<table width=\&quot;100%\&quot; border=\&quot;0\&quot; cellspacing=\&quot;0\&quot; cellpadding=\&quot;0\&quot;>
	<tr style=\&quot;padding-top: 7px;\&quot;>
		<td style=\&quot;padding-right: 5px;\&quot;>&quot;.&quot;$link&quot;.&quot;<img src=\&quot;images/blocks/$modul.gif\&quot; border=\&quot;0\&quot;></a></td>
		<td width=\&quot;100%\&quot;><b>$name</b> $date</td>
	</tr>
	<tr>
		<td colspan=\&quot;2\&quot;>&quot;.&quot;$link&quot;.&quot;$comment</a></td>
	</tr>&quot;;
if ($i!=$limit) {$content .= &quot;<tr><td colspan=\&quot;2\&quot;><hr width=\&quot;90%\&quot;></td></tr>&quot;;}
$content .= &quot;</table>&quot;;
}


?>




block-Album_comments.php
<?php
if (!defined('BLOCK_FILE')) {
	Header(&quot;Location: ../index.php&quot;);
	exit;
}

global $prefix, $db;
$i = 1;
$result = $db->sql_query(&quot;SELECT pid,comment,name FROM &quot;.$prefix.&quot;_album_comments ORDER BY cid DESC LIMIT 20&quot;);
while($data = $db->sql_fetchrow($result)) {
	$content .= &quot;
	<table>
	<tr>
	 <td width=\&quot;15px\&quot; class=\&quot;bgcolor1\&quot; align=\&quot;center\&quot;>&quot;.$i++.&quot;</td> 
	 <td width=\&quot;100%\&quot; class=\&quot;bgcolor1\&quot;><a href=\&quot;albumpic-&quot;.$data['pid'].&quot;.html\&quot; title=\&quot;albumpic-&quot;.$data['pid'].&quot;.html\&quot;>&quot;.substr($data['comment'],0,18).&quot;...</a></td>
	</tr></table>&quot;;
}
?>




block-Pages_comments.php
<?php
if (!defined('BLOCK_FILE')) {
	Header(&quot;Location: ../index.php&quot;);
	exit;
}

global $prefix, $db;
$i = 1;
$result = $db->sql_query(&quot;SELECT pid,comment,name FROM &quot;.$prefix.&quot;_pages_comments ORDER BY tid DESC LIMIT 10&quot;);
while($data = $db->sql_fetchrow($result)) {
	$content .= &quot;
	<table>
	<tr>
	 <td width=\&quot;15px\&quot; class=\&quot;bgcolor1\&quot; align=\&quot;center\&quot;>&quot;.$i++.&quot;</td> 
	 <td width=\&quot;100%\&quot; class=\&quot;bgcolor1\&quot;><a href=\&quot;pagestop-&quot;.$data['pid'].&quot;.html\&quot; title=\&quot;pagestop-&quot;.$data['pid'].&quot;.html\&quot;>&quot;.substr($data['comment'],0,18).&quot;...</a></td>
	</tr></table>&quot;;
}
?>



SLAED CMS: 2 Lite
PHP: 5.2.12


Сервер: Сервер в интернете
2.33

2.33
2
18.03.2012 03:54:26
Стучи 469-256-700
3.76

3.76
3
26.03.2012 08:42:42

Стучи 469-256-700


Написал, ответа не получил.

Поэтому вопрос по прежнему актуален.
2.33

2.33
Открыть Ответить
Хотите опробовать SLAED CMS в действии?

Технологии

PHP MySQL HTML 5 CSS 3 jQuery jQuery UI

Контакты

  • D-49179, Deutschland
    Ostercappeln, Im Siek 6
  • +49 176 61966679

  • https://slaed.net
Идеи и предложения
Обратная связь