Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Здравствуйте, помогите пожалуйста вывести ссылки в разнобой, ни как не получается
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Здравствуйте, помогите пожалуйста вывести ссылки в разнобой, ни как не получается

Страниц (2): [1] 2 »
 

1. joomler - 10 Ноября, 2008 - 16:15:16 - перейти к сообщению
Здравствуйте, помогите пожалуйста со скриптом

в общем нужно
загружаем скрипт, указываем ему кол-во ссылок для вывода. он выбирает из общего списка указанное кол-во ссылок. при рестарте страницы должно выдаватся столько же ссылок но уже другие. Не должна выдаватся в списке одна и та же ссылка дважды!

я новичек и не как не могу зделать.

За помощь могу оплатить 5 wmz .
2. Yuriy - 10 Ноября, 2008 - 18:35:07 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $links = array ("http://my_site1.ru","http://my_site2.ru","http://my_site3.ru","http://my_site4.ru","http://my_site5.ru","http://my_site6.ru","http://my_site7.ru","http://my_site8.ru","http://my_site9.ru","http://my_site10.ru"); // Массив ссылок
  4.  
  5. $count = 5; // Сколько ссылок выводить?
  6.  
  7. $new = array();
  8.  
  9. while (count($new)<$count)
  10. {
  11.         $a = rand(0,count($links)-1);
  12.         if (!in_array($links[$a],$new))
  13.         {
  14.                 $new[] = $links[$a];
  15.         }
  16. }
  17.  
  18. for ($i=0; $i<$count; $i++)
  19. {
  20.         echo $new[$i]."<br />";
  21. }
  22.  
  23. ?>


joomler пишет:
За помощь могу оплатить 5 wmz .


Я не против Улыбка

Кстати, ссылки у Вас ведь наверняка в базе данных? Тогда решение нужно уже другое.
3. valenok - 10 Ноября, 2008 - 20:45:12 - перейти к сообщению
что то вы запутанное написали ;\
shuffle()
4. Yuriy - 10 Ноября, 2008 - 20:56:00 - перейти к сообщению
Вот ёлки-палки. Я так и думал, что есть более простое решение! Тогда исправляюсь:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $links = array ("http://my_site1.ru","http://my_site2.ru","http://my_site4.ru","http://my_site5.ru","http://my_site6.ru","http://my_site7.ru","http://my_site8.ru","http://my_site9.ru","http://my_site10.ru"); // Массив ссылок
  4.  
  5. $count = 5; // Сколько ссылок выводить?
  6.  
  7. shuffle($links);
  8.  
  9. for ($i=0; $i<$count; $i++)
  10. {
  11.         echo $links[$i]."<br />";
  12. }
  13.  
  14. ?>

(Добавление)
Кстати, запутанного там ничего нет, вроде. Просто вручную всё.
5. joomler - 10 Ноября, 2008 - 22:14:07 - перейти к сообщению
Yuriy

конечно оплачу , пот только попробую , если получиться сразу оплачу Радость
спасибо , счас попробую)))
(Добавление)
Yuriy

а как вывести ссылки вот с этим стилем? :
<font style="position: absolute;overflow: hidden;height: 0;width: 0"> http://www[dot]site[dot]ru </font> так вот правильно будет?
6. Yuriy - 10 Ноября, 2008 - 22:34:43 - перейти к сообщению
Вот так:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $links = array ("http://my_site1.ru","http://my_site2.ru","http://my_site4.ru","http://my_site5.ru","http://my_site6.ru","http://my_site7.ru","http://my_site8.ru","http://my_site9.ru","http://my_site10.ru"); // Массив ссылок
  4.  
  5. $count = 5; // Сколько ссылок выводить?
  6.  
  7. shuffle($links);
  8.  
  9. for ($i=0; $i<$count; $i++)
  10. {
  11.         echo "<font style=\"position: absolute;overflow: hidden;height: 0;width: 0\"><a href=\"".$links[$i]."\">".$links[$i]."</a></font><br />";
  12. }
  13.  
  14. ?>
7. joomler - 10 Ноября, 2008 - 22:38:18 - перейти к сообщению
Yuriy

ага счас пробую)))
8. Yuriy - 10 Ноября, 2008 - 22:39:25 - перейти к сообщению
А для краткости результата вот так ещё лучше, раз цель просто скрыть линки:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $links = array ("http://my_site1.ru","http://my_site2.ru","http://my_site4.ru","http://my_site5.ru","http://my_site6.ru","http://my_site7.ru","http://my_site8.ru","http://my_site9.ru","http://my_site10.ru"); // Массив ссылок
  4.  
  5. $count = 5; // Сколько ссылок выводить?
  6.  
  7. shuffle($links);
  8.  
  9. echo "<div style=\"position: absolute;overflow: hidden;height: 0;width: 0\">";
  10.  
  11. for ($i=0; $i<$count; $i++)
  12. {
  13.         echo "<a href=\"".$links[$i]."\">".$links[$i]."</a><br />";
  14. }
  15.  
  16. echo "</div>";
  17.  
  18. ?>
9. joomler - 10 Ноября, 2008 - 22:41:03 - перейти к сообщению
Yuriy

блин что то не выводится ничего, чистая страничка получается ,
10. Yuriy - 10 Ноября, 2008 - 22:45:18 - перейти к сообщению
Вы мне дали стили. В них прописано, что длина и ширина ссылки будет 0. Как же они будут видны тогда? Улыбка Лучше скажите, что Вы конкретно через стили хотели сделать, я сделаю правильно.
11. joomler - 10 Ноября, 2008 - 22:48:28 - перейти к сообщению
Yuriy

а какую ширину и длинну поставить , чтоб выводилось нормально?
12. Yuriy - 10 Ноября, 2008 - 22:50:29 - перейти к сообщению
joomler пишет:
а какую ширину и длинну поставить , чтоб выводилось нормально?


Чтобы ссылки выводились нормально, вообще уберите стили и тег font.

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $links = array ("http://my_site1.ru","http://my_site2.ru","http://my_site4.ru","http://my_site5.ru","http://my_site6.ru","http://my_site7.ru","http://my_site8.ru","http://my_site9.ru","http://my_site10.ru"); // Массив ссылок
  4.  
  5. $count = 5; // Сколько ссылок выводить?
  6.  
  7. shuffle($links);
  8.  
  9. for ($i=0; $i<$count; $i++)
  10. {
  11.     echo "<a href=\"".$links[$i]."\">".$links[$i]."</a><br />";
  12. }
  13.  
  14. ?>


Вы же не зря добавили стили? Значит, что-то хотели с их помощью сделать?
13. joomler - 10 Ноября, 2008 - 23:04:14 - перейти к сообщению
Yuriy

а как уж будет код со стилями , а то я запутался?
счас оплачу , напиши wmz
14. Yuriy - 10 Ноября, 2008 - 23:08:27 - перейти к сообщению
joomler пишет:
а как уж будет код со стилями , а то я запутался?


Я выше дал рабочий код без стилей. А если стили всё же нужны, то смотрите ещё выше пример и поправьте их.
15. Вездеход - 11 Ноября, 2008 - 08:15:29 - перейти к сообщению
че вы мучаетесь то??

PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. for ($i=0; $i<$count; $i++)
  4. { echo "<span class=\"link\"><a href=\"".$links[$i]."\">".$links[$i]."</a><span> "; }
  5. ?>
  6.  

и вперед на вывод. а само оформление уже через CSS пропишите.

 

Powered by ExBB FM 1.0 RC1