Рандом числа

HunteR

Super Moderator
Така значи какво точно ми трябва: :)
Значи искам кодче, такова дето да изкарва някакво произволно число от 1 до 3000, но например ако искара числото 1300 искам то да се записва в някакав файл и повече да не го изкарва.
Смисъл такъв, че да не изкарва повтарящи числа :)
Как ще стане :wink: :?:
 
Бих казал лесно ... но само в началото ... нали се досещаш че като изкарваш произволни числа и ги записваш във файл след като този файл стане 1299 числа скрипта има някъде шанс 1 към 2000 да уцели точно това число което на теб ти трябва :roll:
Т.е. ще му трябва много време за да го налучка (ако изобщо го налучка)
 
А как ще стане само дето най-голямто число да бъде 3000 :)
Дай кодче :wink:
 
HunteR каза:
А как ще стане само дето най-голямто число да бъде 3000 :)
Дай кодче :wink:
Нещо неразбирам защо точно до 3000
кажи какво ще правиш за да знаеме какво да мислим а така просто число от 1 до 3000 баз да се повтаря мога да направя но няма да е произволно а поредно
 
Поредно е лесно и сам мога да си го направя.
Трябва ми за играта.
Тъй като ще може да се регистрират най-много 3000 потребители ми трябвт 3000 места :)
И значи искам да са рандом защото ще правя карта и да ги пуска на различни места ето за това.
И искам да не се повтарят, защото не може 2-ма потребители с едни и същи места :)Например с числото 100 двама потребители :)
 
Защо не направиш една таблица
Примерно
mqsto|status

в тази таблица ще има 3000 записа

ето ти пример за няколко записа

1|n
2|n
3|y
4|n
5|y

в колоната mqsto ще има поредни числа (1 2 3 4 5 6 7 ..... 1200 1201 1202 ... 2998 2999 3000)
правиш една заявка към mysql да вземеш само числата който са с status N
преброяваш числата и избираш едно произволно от тях
след това си записваш потребителя паролата и там данните за рег и ъпдейтваш реда на който е числото на статус Y
по този начин ще имаш винаги различно число
 
mizarck каза:
Защо не направиш една таблица
Примерно
mqsto|status

в тази таблица ще има 3000 записа

ето ти пример за няколко записа

1|n
2|n
3|y
4|n
5|y

в колоната mqsto ще има поредни числа (1 2 3 4 5 6 7 ..... 1200 1201 1202 ... 2998 2999 3000)
правиш една заявка към mysql да вземеш само числата който са с status N
преброяваш числата и избираш едно произволно от тях
след това си записваш потребителя паролата и там данните за рег и ъпдейтваш реда на който е числото на статус Y
по този начин ще имаш винаги различно число
Как ще стане дай пример с код :wink:
 
Код:
<?php
$user        	 	 = "root";
$pass       		 = "******";
$database   		 = "test";
$host                = "localhost";
$connection = mysql_connect("$host", "$user", "$pass");
$db = mysql_select_db("test", $connection);
$query = mysql_query("select * from space where status='n'");
$query2 = mysql_query("select * from space where status='n'");
$flag  = "0";
while($rows = mysql_fetch_array($query))
{
$flag++;
}
$rand = rand(1, $flag);
$flag = "0";
while($rows2 = mysql_fetch_array($query2))
{
$flag++;
if ($flag == $rand)
{
$free = "$rows2[0]";
}
}
echo "$free";
?>

SQL
Код:
CREATE TABLE `space` (
  `mqsto` text NOT NULL,
  `status` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

INSERT INTO `space` VALUES ('1', 'n');
INSERT INTO `space` VALUES ('2', 'y');
INSERT INTO `space` VALUES ('3', 'n');
INSERT INTO `space` VALUES ('4', 'n');
INSERT INTO `space` VALUES ('5', 'n');
INSERT INTO `space` VALUES ('6', 'y');
INSERT INTO `space` VALUES ('7', 'n');
INSERT INTO `space` VALUES ('8', 'n');
INSERT INTO `space` VALUES ('9', 'y');
INSERT INTO `space` VALUES ('10', 'y');

ако това те остройва тогава за да си направиш 3000-те записа ти трябва един цикал само
 
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\xampp\htdocs\test2\test.php on line 11

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\xampp\htdocs\test2\test.php on line 17
 
HunteR каза:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\xampp\htdocs\test2\test.php on line 11

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\xampp\htdocs\test2\test.php on line 17
Скрипта неможе да се кънектне към SQL сървъра
провери дали си задал правилни кординати на MySQL-а
 

Back
Горе