Перейти к содержимому



Показ на странице 5 случайных ссылок из 50-ти

#1 Sanek

Sanek
  • Пользователь
  • 146 сообщений
  • Репутация: 0
0

Отправлено 23 Август 2008 - 03:53

Здравствуйте. У меня например есть страница на которой 50 ссылок.
Мне нужно сделать так что б при каждой загрузке показывалось по 5 ссылок из 50 в случайном порядке.
Например первая загрузка страницы - отображается ссылка №1, ссылка №13, ссылка №9, ссылка №48, ссылка №35.
При новой загрузке страницы - отображается ссылка №10, ссылка №3, ссылка №22, ссылка №18, ссылка №39.
и т.д

 

 

  • 0

#2 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 23 Август 2008 - 21:34

Ссылки где хранятся? В базе, в файле?
Если брать из базы, то там есть возможность сделать беспорядочную сортировку, и выбрать с помощью LIMIT 5 первых
Если из файла, то там тоже не сложно, делаем rnd c 1 по кол-во записей итак же вытаскиваем 5 записей
  • 0

#3 Sanek

Sanek
    Topic Starter
  • Пользователь
  • 146 сообщений
  • Репутация: 0

Отправлено 23 Август 2008 - 23:21

Ссылки хранятся в файле. Можна пожалуйста поподробней как все сделать


  • 0

#4 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 23 Август 2008 - 23:36

<?php
$file = file("base.txt");
$count = count($file);
$rnd = array();
for($i = 0; $i < 5; $i++)
{
  $rnd[$i] = rand($count);
}

//Печать пяти ссылок
for($i = 0; $i < 5; $i++)
{
  echo $file[$rnd[$i]];
}
?>

Примерно так
  • 0

#5 Sanek

Sanek
    Topic Starter
  • Пользователь
  • 146 сообщений
  • Репутация: 0

Отправлено 24 Август 2008 - 01:13

Попробую поставить как выше написано. Спасибо
  • 0

#6 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 24 Август 2008 - 01:41

Всегда пожайлуста! Если не получится, обращайся!
  • 0

#7 Sanek

Sanek
    Topic Starter
  • Пользователь
  • 146 сообщений
  • Репутация: 0

Отправлено 26 Август 2008 - 05:35

Не выводит ссылки из base.txt
вообще пусто на странице. Как исправить или сделать по-другому?


  • 0

#8 Vialls

Vialls
  • Пользователь
  • 581 сообщений
  • Репутация: 1

Отправлено 26 Август 2008 - 06:16

Все должно работать, если версия PHP не ниже 4.2. И еще вот так, поправьте:
<?php
$file = file("base.txt");
$count = count($file);
$rnd = array();
for($i = 0; $i < 5; $i++)
{
  $rnd[$i] = rand($count-1);
}

//Печать пяти ссылок
for($i = 0; $i < 5; $i++)
{
  echo $file[$rnd[$i]];
}
?>
  • 0

#9 Sanek

Sanek
    Topic Starter
  • Пользователь
  • 146 сообщений
  • Репутация: 0

Отправлено 26 Август 2008 - 06:30

Результат:
Warning: rand() expects exactly 2 parameters, 1 given in /***/****/****/***********/public_html/in.php on line 7

Warning: rand() expects exactly 2 parameters, 1 given in  /***/****/****/***********/public_html/in.php on line 7

Warning: rand() expects exactly 2 parameters, 1 given in /***/****/****/***********/public_html/in.php on line 7

Warning: rand() expects exactly 2 parameters, 1 given in /***/****/****/***********/public_html/in.php on line 7

Warning: rand() expects exactly 2 parameters, 1 given in /***/****/****/***********/public_html/in.php on line 7

  • 0

#10 Vialls

Vialls
  • Пользователь
  • 581 сообщений
  • Репутация: 1

Отправлено 26 Август 2008 - 07:24

Тогда, вот так, у меня работает прекрассно:
<?php
$file = file("base.txt");
$count = count($file);
$rnd = array();
for($i = 0; $i < 5; $i++)
{
  $rnd[$i] = rand(0, $count-1);
}

//Печать пяти ссылок
for($i = 0; $i < 5; $i++)
{
  echo $file[$rnd[$i]];
}

?>

  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru