Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

03.08.2008, 17:16
|
|
Участник форума
Регистрация: 28.01.2008
Сообщений: 247
Провел на форуме: 205760
Репутация:
28
|
|
Отсроченный рандомайзер
Имеется скрипт:
Код:
<?
/* Замените нижеследующие переменные на свои */
$host = "1"; // MySQL server
$user_db = "1"; // MySQL пользователь
$pass_db = "1"; // MySQL пароль
$dbase = "1"; // MySQL база данных
$dtable = "link"; // Таблица в базе данных
/* Соединение с сервером базы данных */
mysql_connect ($host, $user_db, $pass_db);
/* Выбор базы данных */
mysql_select_db($dbase);
/* Создание SQL запроса */
$sql = "SELECT id_link, name FROM $dtable ORDER BY RAND() LIMIT 7";
/* Исполнение SQL запроса */
$result = mysql_query($sql);
/* Проверка количества вернувшихся строчек в результате*/
$rows = mysql_num_rows($result);
/* Если нет результата или результат меньше 1, то предупредить нас об этом или вывести результат*/
if ((!$rows) || ($rows < 1)) {echo "Результатов НЕТ!!!";}
else {
echo "<br><a href='page-o$id_link.html'>$name</a><br>";
while(list($id_link, $name ) = mysql_fetch_row($result)) {
echo "";
if(empty($button))
echo "<br><a href='page-o$id_link.html'>$name</a><br>";
}
}
echo "";
?>
Как сделать, чтобы рандомайзер не сразу срабатывал, а через 5 - 10 часов?
Либо выводил последние 10 записи?
Последний раз редактировалось serg-php; 03.08.2008 в 17:23..
|
|
|

03.08.2008, 17:31
|
|
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,188
Провел на форуме: 6023777
Репутация:
2642
|
|
Уточни, не понятно что надо сделать.
|
|
|

03.08.2008, 17:39
|
|
Участник форума
Регистрация: 28.01.2008
Сообщений: 247
Провел на форуме: 205760
Репутация:
28
|
|
Чтобы условие рандома выполнялось через нное кол-во времени!
|
|
|

03.08.2008, 17:52
|
|
Постоянный
Регистрация: 23.03.2006
Сообщений: 977
Провел на форуме: 2976185
Репутация:
694
|
|
поставить его на Cron
|
|
|

03.08.2008, 17:54
|
|
Участник форума
Регистрация: 28.01.2008
Сообщений: 247
Провел на форуме: 205760
Репутация:
28
|
|
На крон, думаю, нерационально!
|
|
|

03.08.2008, 19:06
|
|
Участник форума
Регистрация: 28.01.2008
Сообщений: 247
Провел на форуме: 205760
Репутация:
28
|
|
Благодарь всех, кто помог разобраться!
Огромная благодарноть blaga!
|
|
|

15.08.2008, 12:17
|
|
Участник форума
Регистрация: 28.01.2008
Сообщений: 247
Провел на форуме: 205760
Репутация:
28
|
|
Все-таки решил сделать рандомайзер отсроченым!
Создать таблицу, а потом обращаться и смотреть дату, далее рандомить (люди подсказали сделать так)!
|
|
|

15.08.2008, 12:18
|
|
Участник форума
Регистрация: 28.01.2008
Сообщений: 247
Провел на форуме: 205760
Репутация:
28
|
|
Таблицу создал
CREATE TABLE eu_random_delayed (
id smallint(5) unsigned NOT NULL auto_increment,
ldate datetime NOT NULL,
PRIMARY KEY (id)
);
|
|
|

15.08.2008, 12:20
|
|
Участник форума
Регистрация: 28.01.2008
Сообщений: 247
Провел на форуме: 205760
Репутация:
28
|
|
Что дальше делать?
По-логике дописывать файл, содержание которого приведено выше!
Что дописывать, не знаю!
|
|
|

15.08.2008, 12:59
|
|
Участник форума
Регистрация: 28.01.2008
Сообщений: 247
Провел на форуме: 205760
Репутация:
28
|
|
PHP код:
<?
/* Замените нижеследующие переменные на свои */
$host = "localhost"; // MySQL server
$user_db = ""; // MySQL пользователь
$pass_db = ""; // MySQL пароль
$dbase = ""; // MySQL база данных
$dtable = "eu_ad"; // Таблица в базе данных
/* Соединение с сервером базы данных */
mysql_connect ($host, $user_db, $pass_db);
/* Выбор [HTML]базы данных */
mysql_select_db($dbase);
/* Создание SQL запроса */
$sql = "SELECT link_id, images, v_title, v_255_12, v_descr, catid, rand() AS rnd FROM $dtable WHERE ((catid=403)OR(catid=404)) GROUP BY link_id ORDER BY rnd LIMIT 5";
/* Исполнение SQL запроса */
$result = mysql_query($sql);
/* Проверка количества вернувшихся строчек в результате*/
$rows = mysql_num_rows($result);
/* Если нет результата или результат меньше 1, то предупредить нас об этом или вывести результат*/
if ((!$rows) || ($rows < 1)) {echo "Результатов НЕТ!!!";}
else {
echo "<table width=500 class=last_pellets>";
while(list($id_link, $images, $v_title, $v_255_12, $v_descr ) = mysql_fetch_row($result)) {
$images = explode( "\n", $images );
$images = $images[0];
$v_descr=strip_tags($v_descr);
$v_descr=substr($v_descr,0,150);
echo "<tr><td>";
if(empty($images))
echo "";
else
echo "<a href='page-o$id_link.html'><img src='files/$images' width=60 class=imgConf></a>";
echo "</td><td><a href='page-o$id_link.html'>$v_title</a> $v_descr ... </td><td>$v_255_12</td></tr>";
}
}
echo "</table>";
?>
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|