Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Генерация не занятного логина
 
 автор: NightSoldier   (23.09.2009 в 15:21)   письмо автору
 
 

Вообщем так я делаю регистрацию пользователя, и когда он вводит логин, то он может повториться и в этом случае ему выдаёт 3 генерированных логина! Наверняка встречали такие системы.
К примеру: я ввожу "mylogin" он существует уже в базе данных и "mylogin12" тоже существует, в таком случае - пользователю предлагаются 3 пхожих логина, например "mylogin13", "mylogin14", "mylogin15".

Как сделать такой запрос ну или связку с PHP+MySQL. Сколько думал не могу понять, было преположение посчитать кол-во совпавших подстрок mylogin, но во первых я незнаю как выполнить такой запрос, но он ещё и неправильный ведь, например "mylogin12" и кол-во совпавших подстрок тоже 12, то получается пользователю выведиться логин, тот который сущесвует в БД.

Поправьте меня,если есть где и пожалуйста помогите с таким запросом, нужно обязательно, доделывать сайт надо-((

Заранее благодарен!

  Ответить  
 
 автор: cheops   (23.09.2009 в 15:28)   письмо автору
 
   для: NightSoldier   (23.09.2009 в 15:21)
 

Вы пользователям всегда будете предоставлять логины вида mylogin1, mylogin2, ... mylogin14, mylogin15, ... или предполагаете какие-то вариации связанные с годами рождения?

  Ответить  
 
 автор: Trianon   (23.09.2009 в 15:29)   письмо автору
 
   для: NightSoldier   (23.09.2009 в 15:21)
 

напишите функцию, которая будет генерировать логин (вне всякой связи с БД и её таблицами)
А дальше сделайте цикл, запрашивающий эту функцию и проверяющий запросом к БД существование логина. Накопите три чистых логина - завершаете цикл.
Между прочим, класический пример цикла do...while()

  Ответить  
 
 автор: NightSoldier   (23.09.2009 в 15:45)   письмо автору
 
   для: Trianon   (23.09.2009 в 15:29)
 

3 запроса на одну задачу (говорят, что IF очень долго работает), неслишком ли это жестоко по отношению сервера MySQL?

  Ответить  
 
 автор: NightSoldier   (23.09.2009 в 15:45)   письмо автору
 
   для: Trianon   (23.09.2009 в 15:29)
 

3 запроса на одну задачу (говорят, что IF очень долго работает), неслишком ли это жестоко по отношению сервера MySQL?

  Ответить  
 
 автор: NightSoldier   (23.09.2009 в 15:45)   письмо автору
 
   для: Trianon   (23.09.2009 в 15:29)
 

3 запроса на одну задачу (говорят, что IF очень долго работает), неслишком ли это жестоко по отношению сервера MySQL?

  Ответить  
 
 автор: Trianon   (23.09.2009 в 15:56)   письмо автору
 
   для: NightSoldier   (23.09.2009 в 15:45)
 

Кто такой IF? И кто говорит?
Три простейших и мгновенных (если со структурой таблицы все в порядке) запроса на одну, относительно редкую задачу.

Создать запрос, выдающий отсутствующие в таблице логины, в принципе, можно. Но он будет минимум на порядок (а то и несколько) более затратным.

  Ответить  
 
 автор: NightSoldier   (23.09.2009 в 16:10)   письмо автору
 
   для: Trianon   (23.09.2009 в 15:56)
 

ну спасибо=)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования