Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Генерация ссылок, в свободном падении 
:(
    Опции темы
PARROT
Дата 7.5.2005, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Мысль:
Например:
Есть n-число ссылок, например 10, нужно сгенерировать их в случайном порядке, печататься должна на странице только одна ссылка.
При обновлении страницы, другая и т.д. smile


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Irokez
Дата 7.5.2005, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 22
Всего: 53



shuffle()?
PM   Вверх
Mal Hack
Дата 7.5.2005, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Ссылки в массив, а далее
array_rand или сама через mt_rand
PM ICQ   Вверх
PARROT
Дата 7.5.2005, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Уже лучше, но печатаются все 4 ссылки, потом еще нужно чтобы названия тоже были разные. smile
Код

$numbers =array(control,alis,vesna,edit);
srand ((float)microtime()*1000000);
shuffle ($numbers);
while (list (, $number) = each ($numbers)) {
    echo "<a href=$number.php>Ссылка</a> ";
}



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
PARROT
Дата 7.5.2005, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Ну вот, работает! Всем спасибо!
Код

<?
$soun =array(контроль,алисы,весна,редактировать);
$numbers =array(control,alis,vesna,edit);
$kar=mt_rand(0,3);
mt_srand(time()+(double)microtime()*$kar);
$i=mt_rand(0,count($numbers));
$i=mt_rand(0,count($soun));
echo "<a href=$numbers[$i].php>$soun[$i]</a>";
?>



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Mal Hack
Дата 8.5.2005, 09:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(PARROT @ 8.5.2005, 00:42)
$kar=mt_rand(0,3);
mt_srand(time()+(double)microtime()*$kar);
$i=mt_rand(0,count($numbers));

Лишнее.
PM ICQ   Вверх
PARROT
Дата 8.5.2005, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Код

$soun =array(контроль,алисы,весна,редактировать);
$numbers =array(control,alis,vesna,edit);
$i=mt_rand(0,count($numbers));
$i=mt_rand(0,count($soun));
echo "<a href=$numbers[$i].php>$soun[$i]</a>";

Убрала. Работает.
Но наблюдается некоторый БАГ в работе скрипта, иногда при обновлении страницы, он не печатает никакой ссылки! Просто пустота и все.
Почему так? Как исправить?

Это сообщение отредактировал(а) PARROT - 8.5.2005, 09:50


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Illuminaty
Дата 8.5.2005, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


/*Антон Захаров*/
***


Профиль
Группа: Комодератор
Сообщений: 1238
Регистрация: 19.3.2005
Где: Россия, Казань

Репутация: 6
Всего: 56



Код

$soun =array("контроль","алисы","весна","редактировать");
$numbers =array("control","alis","vesna","edit");
$i=mt_rand(0,count($numbers) - 1);
$i=mt_rand(0,count($soun) - 1);
echo "<a href=$numbers[$i].php>$soun[$i]</a>";

Вставлены кавычки и диапазон генерирования случайного числа снижен на 1
PM MAIL ICQ   Вверх
PARROT
Дата 8.5.2005, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Здорово! Спасибо! smile


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Mal Hack
Дата 8.5.2005, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(PARROT @ 8.5.2005, 10:48)
$i=mt_rand(0,count($numbers));

Лишнее smile
PM ICQ   Вверх
PARROT
Дата 8.5.2005, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Код

$soun =array("контроль","алисы","весна","редактировать");//массив слов, для обозначения ссылок
$numbers =array("control","alis","vesna","edit");//массив ссылок, при генерации добавляем расширение файла
$i=mt_rand(0,count($numbers) - 1);
$i=mt_rand(0,count($soun) - 1);
echo "<a href=$numbers[$i].php>$soun[$i]</a>";//вид ссылки: <a href=control.php>контроль</a>



Mal Hack, почему эта строчка $i=mt_rand(0,count($numbers)); лишняя? smile
Эта строчка отвечает за генерацию ссылки. smile

Это сообщение отредактировал(а) PARROT - 8.5.2005, 10:36


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Irokez
Дата 8.5.2005, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 22
Всего: 53



Цитата(PARROT @ 8.5.2005, 10:35)
почему эта строчка $i=mt_rand(0,count($numbers)); лишняя?

зачем генерировать два раза случайное число если использоваться будет только одно?
PM   Вверх
PARROT
Дата 8.5.2005, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Да, но нужно что бы <a href>слова</a>, совпадали с ссылками. Без этой строки$i=mt_rand(0,count($numbers)); , будут совпадать?

Сейчас они совпадают! А вот...

Да, действительно, эта строка... без нее все работает.
Можно объяснить почему?

Это сообщение отредактировал(а) PARROT - 8.5.2005, 10:42


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Irokez
Дата 8.5.2005, 10:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 22
Всего: 53



потому что надо выбрать из массивов значения с одинаковыми ключами, чтобы ссылка и название ссылки совпадали
PM   Вверх
PARROT
Дата 8.5.2005, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Спасибо! Разобралась. Поняла. Почему. smile


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0686 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.