![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Win MK 32 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 492 Регистрация: 15.7.2002 Репутация: нет Всего: нет |
Берем из базы исходный код. Разбиваем его на строки. Строки с ключами 0,1,2,3,... Перемешиваем массив строки местами поменялись, а ключи нет. Предоставляем пользователю возможность расставить строки массива в нужной последовательности. Далее проверяем.
Эталон не должен быть выведен в коде HTML/JS, иначе пользователь может узнать как правильно выполнить задание. Что-то я запутался как это сделать. Если я случайным образом все перемешал(ключи при этом 0,1,2,3,...) и отправил результат ajax'ом на сервер, то с чем там на сервере я буду сравнивать? Всюду натуральный ряд чисел. |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
как с чем сравнивать? с самими строками. ты же можешь вновь повторить выборку и сравнить итоговые результаты с пришедшими?
если не хочется гонять туда-сюда большие объёмы, то можно аяксом назад слать хэши строк |
|||
|
||||
| Win MK 32 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 492 Регистрация: 15.7.2002 Репутация: нет Всего: нет |
bars80080, не получится так
Ладно, а как можно перемешать массив в PHP чтобы ключи оставались прежние, но переместились куда надо? А не так, что после микста они стали 0,1,2,3, ... . |
|||
|
||||
| Win MK 32 |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 492 Регистрация: 15.7.2002 Репутация: нет Всего: нет |
В базе хранится текст:
Сервер загружает это из базы, преобразует в массив и отправляет клиенту, предварительно перемешав:
Пользователь раставляет все в таком порядке:
и отправляет на сервер такой массив: 3,2,1,4 Дальше как на сервере я проверю и с чем сравню? С вариантом 2? Так там не эталон, там же уже микст. По идее надо сравнивать пользовательский 3,2,1,4 с 3,2,4,1 (как видно из третьего варианта такая последовательность верная). Но как сервер узнает о таком эталоне? Не понимаю, товарищи! Не понимаю! |
||||||
|
|||||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
обычно делают так:
id | text | rang 1 | строка1 | 3 2 | строка2 | 1 3 | строка3 | 2 4 | строка4 | 4 мешает массив, отсылаешь клиенту id и text, где он их должен расставить. но передаёт он тебе обратно чистые id, т.к. не имеет смысла гонять текст. на сервере уже выясняешь, совпадает ли с рангом |
|||
|
||||
| NLspieler |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: 16 Всего: 19 |
Вот вам функция тасования массива. Именно это и нужно?
Она работает, но как мне кажется, при больших массивах может тормозить. А может и не тормозит. Попробую придумать оптимизированный вариант... Это сообщение отредактировал(а) NLspieler - 27.5.2009, 19:44 |
|||
|
||||
| enof |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 837 Регистрация: 23.1.2009 Где: Санкт-Петербург Репутация: 30 Всего: 35 |
||||
|
||||
| NLspieler |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: 16 Всего: 19 |
enof, да, это именно то, что нужно топикстартеру.
после этого массив перетусуется. Так даже не интересно, я уже 5 или 10 раз "переписываю" стандартную функцию. Это сообщение отредактировал(а) NLspieler - 27.5.2009, 21:34 |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
||||
|
||||
| enof |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 837 Регистрация: 23.1.2009 Где: Санкт-Петербург Репутация: 30 Всего: 35 |
NLspieler, книжку какую-нибудь прочитайте по пхп.
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |