parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Странное поведение

Oleg 30.11.2004 02:33

Странность в том что число получается не случайное.
Версия 3.1.3 для windows
^page[] находится внутри дбконекта
@page[]


^rem{

# Создаём таблицу
^void:sql{CREATE TABLE bn (
  id int(10) NOT NULL default '0',
  `key` int(10) NOT NULL default '0')
   TYPE=MyISAM}

# Наполняем её id-шниками
^void:sql{INSERT INTO bn(id, `key`) VALUES ^for[i](1;800){(1,)}[,]}

}


# Достаём сущ. id и пытемся в БД каждому id сопоставить случайное число
$test[^table::sql{SELECT id FROM bn}]
^test.menu{
	^void:sql{UPDATE `bn`
			  SET `key`='^key_test[]'
			  WHERE id=$test.id}
			  
}OK

# Проверяем число на случайность
@key_test[][test]
$result[^keygen[]]
$test[^table::sql{SELECT id FROM bn WHERE `key`="$result"}]
^if(def $test.id){$result[^key_test[]]}

# Генерируем случайное число в 10 символов
@keygen[]
$result{^math:random(1000)^math:random(1000)^math:random(1000)^math:random(1000)^math:random(1000)^math:random(1000)^math:random(1000)^math:random(1000)^math:random(1000)^math:random(1000)^math:random(1000)^math:random(1000)}
$result[^result.mid(0;10)]

# ps: Как ни странно но например на 3х символах ошибки не возникает