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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Случайным образом выделить кнопки 
:(
    Опции темы
Aliance
Дата 15.4.2005, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Как имея такое
Код

<input type=checkbox size=1 name=rands[1] checked>
<input type=checkbox size=1 name=rands[2]>
<input type=checkbox size=1 name=rands[3]>
<input type=checkbox size=1 name=rands[4]>
<input type=checkbox size=1 name=rands[5]>

При субмите формы вывести ту же страницу, но со случайно выбранным чекбоксом?
Т.е. в данный момент выбран первый, при субмите будет третий, потом n-ный, потом опять первый и т.д...
PM MAIL WWW ICQ Skype   Вверх
Serkys
Дата 15.4.2005, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1061
Регистрация: 19.4.2004

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



<?
Код

$r=mt_rand(1, 5);
if ($r==1) echo "<input type=checkbox size=1 name=rands[1] checked>";
  else echo "<input type=checkbox size=1 name=rands[1]>
if ($r==2) echo "<input type=checkbox size=1 name=rands[2]> checked";
  else echo "<input type=checkbox size=1 name=rands[2]>;
if ($r==2) echo "<input type=checkbox size=1 name=rands[3]> checked";
  else echo "<input type=checkbox size=1 name=rands[3]>;
if ($r==2) echo "<input type=checkbox size=1 name=rands[4]> checked";
  else echo "<input type=checkbox size=1 name=rands[4]>;
if ($r==2) echo "<input type=checkbox size=1 name=rands[5]> checked";
  else echo "<input type=checkbox size=1 name=rands[5]>;

Длинновато конечно, но работать должно...
Будет время, через case попробую осуществить, если надо.

Это сообщение отредактировал(а) Serkys - 15.4.2005, 19:20
PM MAIL   Вверх
Irokez
Дата 15.4.2005, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


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

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



Код

$num = 5; // number of elements
$rndnum = rand(1, $num);
for ($loop = 1; $loop <= $num; $loop++) {
    $cheked = ($loop == $rndnum) ? ' checked' : '';
    echo
<<<HTML
<input type="checkbox" size="1" name="rands[]"{$checked}>
HTML;
}

PM   Вверх
Aliance
Дата 15.4.2005, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Irokez
Не работает smile
PM MAIL WWW ICQ Skype   Вверх
Irokez
Дата 15.4.2005, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


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

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



Цитата(Aliance @ 15.4.2005, 20:00)
Irokez
Не работает smile

а как именно?
PM   Вверх
Aliance
Дата 15.4.2005, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



5 элементов не выделенных появляется... и все...обновляю - опять...
Добавлено @ 20:26
Serkys
проверяй свой код ;)
PM MAIL WWW ICQ Skype   Вверх
Irokez
Дата 15.4.2005, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


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

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



ээ .. виноват ..
$cheсked = ($loop == $rndnum) ? ' checked' : '';

PM   Вверх
Aliance
Дата 15.4.2005, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Спасибо. Работает. Но появился другой вопрос, точнее возвращаемся к тому что я изначально написал, т.е. имя имеет вид rands[number].
Т.к. мне нужно около каждого писать свой текст... Поэтому, думаю, нужно играть с номерами в имени, т.е. создавать ранжомное число от 1 до 5 и по имени искать данный чекбаттон, затем его выделять. Но тут, по-моему, php без JS не справится?...
PM MAIL WWW ICQ Skype   Вверх
Irokez
Дата 15.4.2005, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


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

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



может тогда так:
Код

$values = array(
    'репка',
    'дедка',
    'бабка',
    'внучка',
    'жучка',
    'кошка',
    'мышка',
);
shuffle($values);

$rndnum = rand(1, count($values));
$count = 0;
foreach($values as $value) {
    $count ++;
    $checked = ($count == $rndnum) ? ' checked' : '';
    echo
<<<HTML
<input type="checkbox" size="1" name="rands[]"{$checked}>$value
HTML;
}

PM   Вверх
Aliance
Дата 15.4.2005, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Тоже не то, текст должен быть фиксированным. Т.е. есть разметка:
Код

<input type=checkbox size=1 name=rands[1] checked> первый
<input type=checkbox size=1 name=rands[2]> второй
<input type=checkbox size=1 name=rands[3]> третий
<input type=checkbox size=1 name=rands[4]> четвертый
<input type=checkbox size=1 name=rands[5]> пятый

PM MAIL WWW ICQ Skype   Вверх
Serkys
Дата 16.4.2005, 06:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1061
Регистрация: 19.4.2004

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



Цитата
Serkys проверяй свой код ;)

Виноват, очепятка smile
Код

$r=mt_rand(1, 5);
if ($r==1) echo "<input type=checkbox size=1 name=rands[1] checked> первый<br>";
  else echo "<input type=checkbox size=1 name=rands[1]> первый<br>";
if ($r==2) echo "<input type=checkbox size=1 name=rands[2] checked> второй<br>";
  else echo "<input type=checkbox size=1 name=rands[2]> второй<br>";
if ($r==3) echo "<input type=checkbox size=1 name=rands[3] checked> третий<br>";
  else echo "<input type=checkbox size=1 name=rands[3]> третий<br>";
if ($r==4) echo "<input type=checkbox size=1 name=rands[4] checked> четвёртый<br>";
  else echo "<input type=checkbox size=1 name=rands[4]> четвёртый<br>";
if ($r==5) echo "<input type=checkbox size=1 name=rands[5] checked> пятый";
  else echo "<input type=checkbox size=1 name=rands[5]> пятый<br>";

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


индеец
***


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

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



Цитата(Aliance @ 15.4.2005, 22:13)
Тоже не то, текст должен быть фиксированным. Т.е. есть разметка:

а ну тогда еще проще smile
Код

$values = array(
    'репка',
    'дедка',
    'бабка',
    'внучка',
    'жучка',
    'кошка',
    'мышка',
);
$num = count($values); // number of elements
$rndnum = rand(1, $num);
for ($loop = 1; $loop <= $num; $loop++) {
    $checked = ($loop == $rndnum) ? ' checked' : '';
    echo
<<<HTML
<input type="checkbox" size="1" name="rands[]"{$checked}>{$values[$loop - 1]}
HTML;
}


Это сообщение отредактировал(а) Irokez - 16.4.2005, 10:30
PM   Вверх
Aliance
Дата 16.4.2005, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Спасибо, супер. smile
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0743 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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