Форум » Система построения сайтов » Блоки » Блок вывода последних новостей на отдельной странице Php
Открыть Ответить

Блок вывода последних новостей на отдельной странице Php

0

0

1
02.12.2010 17:00:54

Подскажите как вывести блок вывода последних новостей на отдельной странице Php.

PHP
<?php
/*Пример смотрите на http://enrof.net - это мой любимый блок*/
if (!defined('BLOCK_FILE')) {
        Header("Location: ../index.php");
        exit;
}
global $prefix, $db;
$result1 = $db->sql_query("SELECT sid, hometext, UNIX_TIMESTAMP(time) as formatted FROM ".$prefix."_stories WHERE topic=1 ORDER BY sid DESC LIMIT 0,5");
/*topic=1. Блок берет новости только из одной темы (ну, или топика). Меняйте номер топика*/
while ($row = $db->sql_fetchrow($result1)) {
    $sid = intval($row['sid']);
    $title = stripslashes($row['title']);
    $s_data1 = date("d.m.Y", $row["formatted"]);
    $hometext = stripslashes($row['hometext']);
    $content .= "<strong><big>&middot;</big></strong>&nbsp;$a: $s_data1  <br>$hometext<br>";

}
$content .= "<br><b><a target=\"_self\" href=\"index.php?name=News\">>> Остальные</a></b>";
?>
Версия системы SLAED CMS 2.6 Lite
Версия PHP PHP 5
Сервер Сервер в интернете
Jorik
Jorik
2
02.12.2010 19:55:37

Jorik, я что-то не совсем вопрос понял.
Можно подробнее описать, возможно на примере?

GRAFLEKX
GRAFLEKX
3.92

3.92

3
02.12.2010 20:46:17 02.12.2010 22:04:04

Jorik, я что-то не совсем вопрос понял.
Можно подробнее описать, возможно на примере?

Ну вообщем суть вопроса: как вывести добавленные последние новости, в виде техтовых ссылок не в самом движке, а на отдельной странице.

Версия системы SLAED CMS 2.6 Lite
Версия PHP PHP 5
Сервер Сервер в интернете
Jorik
Jorik
4
02.12.2010 22:28:43

Вот откопал кое-что,но как его для слаед переделать не хватает мозгов 🙁

PHP
<?
$dbhost = "localhost";
$dbuser = "Имя";
$dbpass = "Пароль";
$dbname = "БД";
mysql_connect($dbhost, $dbuser, $dbpass) or die("Не подключается к СЕрверу\n");
mysql_select_db($dbname) or die("Не правильно название БД");
$sql="SELECT * FROM dle_post ORDER BY `id` DESC LIMIT 5";
$result=mysql_query($sql);
if($result){
while($news = mysql_fetch_assoc($result))
{
echo "-<a href=\"http://ВАШ_URL_САЙТА/".$news['id']."-".$news['alt_name'].".html\">".$news['title']."</a><br>Дата: ".$news['date']." Автор: ".$news['autor']."<br />";
}}else echo "ВНИмаНИЕ: выборка из БД не осуществилась!!!";
 
?>
Версия системы SLAED CMS 2.6 Lite
Версия PHP PHP 5
Сервер Сервер в интернете
Jorik
Jorik
5
02.12.2010 22:40:51 02.12.2010 22:52:10

это не то, вам такой код не нужен...

как вариант - создать отдельный модуль.

Вот простой пример:

Создайте в папке modules папку, назовите ее, например, newspage.

В ней создайте файл index.php вот с таким содержанием:

Код
<?php
if (!defined('MODULE_FILE')) {
Header("Location: ../../index.php");
exit;
}
$module_name = basename(dirname(__FILE__));
global $db, $prefix;
echo <<<HTML
<html>
<head>
<title>Последние новости</title>
</head>
<body>
HTML;
	$result = $db->sql_query("SELECT sid, title, time FROM ".$prefix."_stories WHERE status!='0' ORDER BY time DESC LIMIT 10");
	while (list($sid, $title, $time) = $db->sql_fetchrow($result)) {
		formatTimestamp($time);
echo "<p>$time: <a href=\"index.php?name=News&op=article&sid=$sid\">$title</a></p>";
}
echo <<<HTML
</body>
</html>
HTML;
?>

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

Goshan
Goshan
3.92

3.92

6
02.12.2010 22:44:27

Goshan
Но мне необходимо вывести последние новости не в движке, а на отдельной странице,не относящемуся к движку.

Версия системы SLAED CMS 2.6 Lite
Версия PHP PHP 5
Сервер Локальный сервер
Jorik
Jorik
7
02.12.2010 22:58:48 02.12.2010 23:06:42

Тогда код будет таков:

Код
<?php
echo <<<HTML
<html>
<head>
<title>Последние новости</title>
</head>
<body>
HTML;

$dbhost = "localhost"; 
$dbuser = "Имя пользователя БД"; 
$dbpass = "Пароль"; 
$dbname = "Имя БД";
$prefix = "slaed"; // Префикс таблиц, по умолчанию "slaed"
mysql_connect($dbhost, $dbuser, $dbpass) or die("Ошибка подключения к Базе данных"); 
mysql_select_db($dbname) or die("Ошибка в названии Базы данных"); 
$sql="SELECT sid, title, time FROM ".$prefix."_stories WHERE status!='0' ORDER BY time DESC LIMIT 10"; 
$result=mysql_query($sql); 
while($news = mysql_fetch_assoc($result)) {
echo "<p>".$news['time'].": <a href=\"index.php?name=News&op=article&sid=".$news['sid']."\">".$news['title']."</a></p>";
}

echo <<<HTML
</body>
</html>
HTML;
?>

Создайте .php файл в любом месте сайта и поместите в него этот код.

Goshan
Goshan
3.92

3.92

8
02.12.2010 22:59:36 02.12.2010 23:01:16

Jorik, в своем приведенном коде (выше) вы четко всем показали - у меня есть апельсин, и спустя 16 минут вы пишете: "Я хочу апельсин"...

Запрос к БД измените, и будет вам новости на отдельной странице

PS Goshan, опередил :)

sam07
sam07
3.91

3.91

9
02.12.2010 23:16:27 02.12.2010 23:35:52

Спасибо Goshan

Все отлично работает.

Премного благодарен.

Версия системы SLAED CMS 2.6 Lite
Версия PHP PHP 5
Сервер Сервер в интернете
Jorik
Jorik
10
03.12.2010 17:22:26 03.12.2010 17:22:45

Да ну ты. Откой для примера ajax.php

пример

PHP
define("MODULE_FILE", true);
include("function/function.php");  

далее код из блока   

echo $content;
ra55551
ra55551
3.75

3.75

Открыть Ответить
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

Поделиться
QR-код

Предварительный просмотр