Понедельников НЕТ!
Регистрация или вход Регистрация или вход Избранное на этом сайте | Главная | Анкета | Рекомендовать | Обратная связь | В избранное | Сделать домашней
Скачать SSDForums
Скачать SSDForums 1.0.1 Скачать SSDForums 1.0.1
Скачать SSDForums 1.0.1 SP1 Скачать SSDForums 1.0.1 SP1
Скачать SSDForums 1.0.1 SP2 Скачать SSDForums 1.0.1 SP2
SSD Forums 1.0.1 SP3 only Slaed 3.5 Pro SSD Forums 1.0.1 SP3 only Slaed 3.5 Pro
SSD Forums 1.0.1 SP4-beta only Slaed 4.1 Pro SSD Forums 1.0.1 SP4-beta only Slaed 4.1 Pro
Jewelry Сase Team
Скачать Ruby Chat 0.1.1 Скачать Ruby Chat 0.1.1
Меню
Главная
Форум
Магазин цифровых товаров

Новости
Подписка на новости
Темы новостей
Добавить новость

Каталог файлов
Карта файлового архива
Публикации

Опросы
Анкета пользователя
Чат

BestMaker
Викторина
Архив новостей
Карманный оракул
Поиск по сайту с помощью Яндекс
Поиск по сайту с помощью Google
Фото дня
Для души
Погода на 3 дня
IndexCat
IndexTop
Map_Pages
Поиск по сайту









Подписка на новости
Ваше имя:
Ваш E-Mail:*
Секретный код:
Секретный код
Повторить:*
Интересное в сети

Sape — это система купли-продажи ссылок
с главных и внутренних страниц сайтов
Форум -> Обо всём... -> Блок вывода случайной новости. подскажите..
Блок вывода случайной новости. подскажите..
СЭР Дата: 23.01.2008, в 14:01 | Сообщение №1
СЭР
Участник
Пользователь №: 264
Сообщений: 65

Подскажите пожалуйста.
есть у кого блок вывода случайной новости.
Serg_pnz Дата: 23.01.2008, в 14:21 | Сообщение №2
Serg_pnz
Администратор
Пользователь №: 1
Сообщений: 2242

СЭР, Берешь блок, скажем 10 последних, (а вообще любой, относящийся к новостям) и делаешь следующее
1. Там, где сортировка, пишем ORDER BY rand()
2. Лимит устанавливаем на 1 LIMIT 0, 1

Подробности

Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот
СЭР Дата: 23.01.2008, в 14:58 | Сообщение №3
СЭР
Участник
Пользователь №: 264
Сообщений: 65

Благодарю огромное.
один мал. нюас
что заменить чтоб она развёрнутая была?
Serg_pnz Дата: 23.01.2008, в 15:36 | Сообщение №4
Serg_pnz
Администратор
Пользователь №: 1
Сообщений: 2242

Кто она и куда должна развернуться?

Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот
СЭР Дата: 23.01.2008, в 15:43 | Сообщение №5
СЭР
Участник
Пользователь №: 264
Сообщений: 65

сейчас выводится заголовок.
идея такая чтоб выдилась вся новость
Код
1
<?php
if (!defined('BLOCK_FILE')) {
    Header("Location: ../index.php");
    exit;
}
$top= "1"; #количество новостей в блоке
$symbolov = 100; #количество символов в заголовке
/* Top 10 read stories */
global $prefix, $db, $dbi;
$result = $db->sql_query("SELECT sid, title FROM ".$prefix."_stories WHERE time <= now() AND status='1' ORDER BY rand() LIMIT 0,$top");
    $lugar=1;
    $content .= "<table cellspacing=\"0\" width=\"100%\" cellpadding=\"1\" border=\"0\" align=\"left\">";
    while ($row = $db->sql_fetchrow($result)) {
    $sid = intval($row['sid']);
    $title = stripslashes(check_html($row['title'], "nohtml"));
    $title=cutstr( $title, $symbolov );
    $lugar = $lugar;
$content .= "<tr><td align=\"right\" >$lugar:</td><td align=\"left\" width=\"100%\"> <a href=\"index.php?name=News&op=article&sid=$sid\">$title</a></td></tr>";
        $lugar++;
    }
    $content .= "</table>";
?>


_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно СЭР 23.01.2008 г. в 15:52:13
Serg_pnz Дата: 23.01.2008, в 16:33 | Сообщение №6
Serg_pnz
Администратор
Пользователь №: 1
Сообщений: 2242

Конкретно для одной новости с полным выводом текста код будет таким
Код
1
<?php
if (!defined('BLOCK_FILE')) {
    Header("Location: ../index.php");
    exit;
}

global $prefix, $db;
$result = $db->sql_query("SELECT sid, title, hometext, bodytext FROM ".$prefix."_stories WHERE time <= now() AND status='1' ORDER BY rand() LIMIT 0,1");
    $content .= "<table cellspacing=\"0\" width=\"100%\" cellpadding=\"1\" border=\"0\" align=\"left\">";
    $row = $db->sql_fetchrow($result);
      $content .= "<tr><td align=\"left\" width=\"100%\"> <a href=\"index.php?name=News&op=article&sid=".$row['sid']."\">".$row['title']."</a><br><br>". bb_decode($row['hometext']."<br><br>".$row['bodytext'])."</td></tr>";
    $content .= "</table>";
?>


_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно Serg_pnz 23.01.2008 г. в 16:35:30

Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот
alfainfo Дата: 24.01.2008, в 15:10 | Сообщение №7
alfainfo
Активный участник
Пользователь №: 237
Сообщений: 152

как всегда спасибо Serg_pnz, на этом примере если с умом то много чего сделать можно, но....
а вот если нужно выводить из текстогого файла где каждая строчка это отдельная не пронумерованная новая запись???
или что будет правелнее как экспортировать такой масив в БД чтоб добавилась колонка нумерации, ну а потом можно и воспользоватся предыдущим примером для вывода, пиребив разумеется имя таблици и имена полей.... а вот как в базу вбить???
пример 123.txt
текст1
текст2
........
текстХ
Serg_pnz Дата: 24.01.2008, в 16:11 | Сообщение №8
Serg_pnz
Администратор
Пользователь №: 1
Сообщений: 2242

Есть такая функция, которая считывает файл построчно, называется она file
Код
1
$mass = file('test.txt');

Это мы считываем файл построчно и пихаем всё в массив.

Далее делаем рандомную выборку индекса и выводим результат
Код
1
// здесь мы проинициализировали генератор случайных чисел
srand((float) microtime() * 10000000);

//Выбираем случайный ключ и выводим результат
$rand_key = array_rand($mass);
echo "Случайная строка <br>";
echo $mass[$rand_key] ;


Пример работы можно посмотреть тут - перейди и обнови страницу несколько раз. И никакой мускул нам не нужен для вывода случайной строки массива.

Тестовый файл
Цитата
строка 1
строка 2
строка 3
строка 4
строка 5
строка 6


_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно Serg_pnz 24.01.2008 г. в 16:12:01

Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот
alfainfo Дата: 24.01.2008, в 18:58 | Сообщение №9
alfainfo
Активный участник
Пользователь №: 237
Сообщений: 152

Serg_pnz, - да весьма простой код, а теоретически какая разница в выводе из тхт и из БД я имею в виду по производительности и по скорости загрузки для сайта, допустим строк этих этак 500 и посетителей 1000 тоды или забивать в оперативку серваку эти 500 строк (так как их заглатывает одна переменная) для каждого юзвера который откроет страницу или взять одну строчку из базы и забить ее в такую же переменную а значит и в оперативку что быстрее и производиельнее???
извените что не совсем по теме топика.....
Serg_pnz Дата: 25.01.2008, в 10:09 | Сообщение №10
Serg_pnz
Администратор
Пользователь №: 1
Сообщений: 2242

alfainfo, это называется кэширование "взять и забить"

Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот
СЭР Дата: 06.03.2008, в 16:02 | Сообщение №11
СЭР
Участник
Пользователь №: 264
Сообщений: 65

А что нужно добавить чтобы не вся новость выводилась а её часть?
Код
1
<?php
if (!defined('BLOCK_FILE')) {
    Header("Location: ../index.php");
    exit;
}

global $prefix, $db;
$result = $db->sql_query("SELECT sid, title, hometext, bodytext FROM ".$prefix."_stories WHERE time <= now() AND status='1' ORDER BY rand() LIMIT 0,1");
    $content .= "<table cellspacing=\"0\" width=\"100%\" cellpadding=\"1\" border=\"0\" align=\"left\">";
    $row = $db->sql_fetchrow($result);
      $content .= "<tr><td align=\"left\" width=\"100%\"> <a href=\"index.php?name=News&op=article&sid=".$row['sid']."\">".$row['title']."</a><br><br>". bb_decode($row['hometext']."<br><br>".$row['bodytext'])."</td></tr>";
    $content .= "</table>";
?>


_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно СЭР 06.03.2008 г. в 16:03:06
Serg_pnz Дата: 06.03.2008, в 16:30 | Сообщение №12
Serg_pnz
Администратор
Пользователь №: 1
Сообщений: 2242

СЭР, убей
Код
1
<br><br>".$row['bodytext'])."

Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот
СЭР Дата: 06.03.2008, в 17:23 | Сообщение №13
СЭР
Участник
Пользователь №: 264
Сообщений: 65

что-то не то
блок не работает вобще.
А идея вобщем такая.
Сделать чтобы выводилась часть случайной новости и случайной статьи в случайном порядке

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно СЭР 06.03.2008 г. в 17:43:37
Serg_pnz Дата: 06.03.2008, в 18:44 | Сообщение №14
Serg_pnz
Администратор
Пользователь №: 1
Сообщений: 2242

Рабочая версия
Код
1
<?php
if (!defined('BLOCK_FILE')) {
    Header("Location: ../index.php");
    exit;
}

global $prefix, $db;
$result = $db->sql_query("SELECT sid, title, hometext, bodytext FROM ".$prefix."_stories WHERE time <= now() AND status='1' ORDER BY rand() LIMIT 0,1");
    $content .= "<table cellspacing=\"0\" width=\"100%\" cellpadding=\"1\" border=\"0\" align=\"left\">";
    $row = $db->sql_fetchrow($result);
      $content .= "<tr><td align=\"left\" width=\"100%\"> <a href=\"index.php?name=News&op=view&id=".$row['sid']."\">".$row['title']."</a><br><br>". bb_decode($row['hometext'])."</td></tr>";
    $content .= "</table>";
?>


_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно Serg_pnz 07.03.2008 г. в 13:02:42

Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот
Serg_pnz Дата: 07.03.2008, в 13:03 | Сообщение №15
Serg_pnz
Администратор
Пользователь №: 1
Сообщений: 2242

предыдущий пост обновлен (там была пропущена скобку у бб-декоде() вот и не работало...)

Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот
Serg_pnz Дата: 07.03.2008, в 13:44 | Сообщение №16
Serg_pnz
Администратор
Пользователь №: 1
Сообщений: 2242

Вариант с обрезанием (для 3.5)
Код
1
<?php
if (!defined('BLOCK_FILE')) {
    Header("Location: ../index.php");
    exit;
}

global $prefix, $db;
$result = $db->sql_query("SELECT sid, title, hometext, bodytext FROM ".$prefix."_stories WHERE time <= now() AND status='1' ORDER BY rand() LIMIT 0,1");
    $content .= "<table cellspacing=\"0\" width=\"100%\" cellpadding=\"1\" border=\"0\" align=\"left\">";
    $row = $db->sql_fetchrow($result);
      $content .= "<tr><td align=\"left\" width=\"100%\"> <a href=\"index.php?name=News&op=view&id=".$row['sid']."\">".$row['title']."</a><br><br>". cutstr(text_filter(bb_decode($row['hometext'])), 50)."</td></tr>";
    $content .= "</table>";
?>

Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот

Вы не можете ответить в тему анонимно, пожалуйста, войдите или зарегистрируйтесь!


Реклама
Главная | Форум | Новости | Подписка на новости | Темы новостей | Добавить новость | Каталог файлов | Карта файлового архива | Публикации | Опросы | Анкета пользователя | Чат | BestMaker | Викторина | Архив новостей | Карманный оракул | Поиск по сайту с помощью Яндекс | Поиск по сайту с помощью Google | Фото дня | Для души | Погода на 3 дня | IndexCat | IndexTop | Map_Pages | Весь Оракул

Rambler's Top100

Генерация страницы: 0.263 сек. и 17 запросов к базе данных за 0.022 сек.
Web site engine code is Copyright © 2006 by SLAED CMS. All rights reserved.