Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Исключение повтора числа в таблицы БД 
:(
    Опции темы
CTAzz
Дата 4.7.2009, 01:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 16.9.2006
Где: Россия, index.php

Репутация: нет
Всего: нет



Проблема в следующем. В одном из полей БД хранятся числа, пусть они будут четырехзначные ХХХХ.
Перед тем как попасть в БД это число генерируется рандомно  
Код

$rand=rand(1000,9999);

После должен пойти тот процесс, который мне ни как в голову не может уложится.
Это рандомное число должно сверится с БД и узнать есть ли это число там или нет. Если числа нет, то программа выполнена и число записывается, если число встретилось, то число снова должно рандомно выбратся и снова проверится, и делать это до тех пор, пока не появится то число, которого нет в БД, как это можно всё упростить/организовать? smile 

PM MAIL   Вверх
DioNiR
Дата 4.7.2009, 02:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 30.12.2006

Репутация: нет
Всего: нет



Создаёшь функцию которая проверяет выполняет запрос добавление в БД и в ней же проверку типо:

Код
function aa($num)
{
    if ( ищешь такое число )
    {
        Найдено ссылаешься снова на эту функцию типо:
        aa($num);
        Только создаёшь новое число
    }
    else
    {
        Добавляешь в бД
    }
}


--------------------
Думали это конец? Ха, всё только начинается.
PM MAIL   Вверх
NewDima
Дата 4.7.2009, 05:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 922
Регистрация: 20.2.2006
Где: <?here?>

Репутация: 10
Всего: 12



исключение повтора в базе данных осуществляется с помощью самой базы данных, для этого используются ключевые поля
Устанавливаешь то числовое поле в ключевое.
Код

function addValueToDB($value) {
    //здесь в зависимости от того, какая СУБД используется, выполняешь транзакцию на добавление,
    //и в случае, если не добавлена,возвращаешь false, а если добавлена, true
}
while (!addValueToDB(rand(1000,9999))) {}

PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1320 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.