Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: генератор чисел с проверкой на совпадения

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: генератор чисел с проверкой на совпадения
desh
Отправлено: 04 Июля, 2014 - 14:03:58
Post Id


Новичок


Покинул форум
Сообщений всего: 13
Дата рег-ции: Июль 2014  


Помог: 0 раз(а)




Доброго времени суток!
Не могу написать скрипт который бы генерировал числа и проверял есть ли совпадения в бд
если есть совпадения то что бы он генерировал другое число которого нет в бд
 
 Top
OrmaJever Модератор
Отправлено: 04 Июля, 2014 - 15:08:14
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




PHP:
скопировать код в буфер обмена
  1. do {
  2.    $num = rand(0, 100);
  3.    $result = $mysqli->query( "SELECT * FROM table WHERE some_row = $num" );
  4. } while( $result->num_rows );
  5.  
  6. echo $num;


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
desh
Отправлено: 04 Июля, 2014 - 15:18:16
Post Id


Новичок


Покинул форум
Сообщений всего: 13
Дата рег-ции: Июль 2014  


Помог: 0 раз(а)




Спасибо огромное) все работает))))
 
 Top
SAD
Отправлено: 04 Июля, 2014 - 15:23:07
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




ужасное решение
 
 Top
LIME
Отправлено: 04 Июля, 2014 - 17:57:01
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




генератор неповторяющихся случайных чисел на коленке))
PHP:
скопировать код в буфер обмена
  1. $mysqlNum = mysqli_query($mysqlI, 'SELECT COUNT(*) FROM tbl')->fetch_row()[0];
  2. $begin = mt_rand(0,1000);
  3. $end = mt_rand(0,1000);
  4.  
  5. $randNumGarantiedNotInTbl=$begin . $mysqlNum . $end;

конечно только для добавления новых строк
и конечно надо дополнять рандомные числа
и перемешивать можно их еще
и $mysqlNum можно дополнять на постоянных местах одинаковыми числами вместо 0
(Добавление)
конечно дополнять 0 до одинаковой длины
спешу домой некогда)

(Отредактировано автором: 04 Июля, 2014 - 17:59:35)

 
 Top
avtor.fox
Отправлено: 04 Июля, 2014 - 19:14:52
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




LIME пишет:
fetch_row()[0]

автор не знает как рэндом получить, а теперь он будет биться в истерике головой об стену, если пых < 5.4)))
 
 Top
LIME
Отправлено: 04 Июля, 2014 - 19:25:29
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




да мой алгоритм надо еще улучшить на предмет коллизий
пусть запросы херачит
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB