Loading...
PHP/MySQL | Rand не повторялись цифы

<?php

$max_num_current_user = mysql_result(mysql_query("SELECT MAX(`number`) as aggregate FROM `numbers` WHERE `user_id` = 1 "));

$max_num_current_user += 1;

mysql_query("INSERT INTO `numbers` ( `number` , `user_id` )
VALUES ( ".$max_num_current_user.", ".$us['id']." )");





На колонку number советую повесить индекс
________
посл. ред. 03.07.2016 в 13:22; всего 1 раз(а); by 89828013
Собираем все числа которые есть в базе в массив.
$num = rand(0, 20);
$arr = [1,2,5,10];

Рекурсивная функция
function func($num, $arr){
// если значения нет в массиве - пишем в бдсм
if(!in_array($num, $arr)){
// запрос
}else{
// иначе проверяем есть ли еще варианты чисел.
Если нет, выходим из функции
if(count($arr) > 19){
return;
}

Если нще есть варианты генерируем новое число и заново запускаем функцию
$num = rand(0, 20);
func($num, $arr);
}

// запускаем все это дело
func($num, $arr);
________
посл. ред. 03.07.2016 в 14:15; всего 3 раз(а); by Dark_AKC
Онлайн: 1
Время:
Gen. 0.0915
(c) Bym.Guru 2010-2025