![]() ![]() |
14.11.2008г. в 14:26ч.
Коментар:
#1
|
|
|
Новак ![]() Група: Потребители Съобщения: 29 Дата на регистрация: 31.07.2006г. От: Септември Потребител # 668 |
Така тук ще сложа малко по-съкратен код от този -> Благодаря за идеята, която ми даде @ColdFire. Така ето ги и самите промени. Като започнем от структурата на таблицата: Новата е тази: CODE CREATE TABLE codes ( code varchar(250) NOT NULL default '', PRIMARY KEY (code) ); Ето го и новия скрипт за генериране на уникален код. CODE <?php // CONFIG // // Връзка с базата данни $db_conn = mysql_connect("localhost", "root", "password") or die(mysql_error()); mysql_select_db("database", $db_conn) or die(mysql_error()); define(COUNT_SIMBOLS,8); // тук дефинираме колко символа да бъде кода define(ALL_SIMBOLS,'0123456789qwertyuioplkjhgfdsazxcvbnm'); // тук слагаме символите, от които да се генерира кода // CONFIG // $code = substr(str_shuffle(ALL_SIMBOLS),0,COUNT_SIMBOLS); // генерираме код $continue = false; while (!$continue) { $zapis = mysql_query("INSERT INTO `codes` (`code`) VALUES ('$code')"); // правим опит за записване на кода в базата данни if ($zapis) { // ако кода е успешно записан продължаваме $continue = true; } else { // ако кода не е записан успешно $code = substr(str_shuffle(ALL_SIMBOLS),0,COUNT_SIMBOLS); // тук генерираме нов код, ако предишния генериран е съществувал в базата $continue = false; } } // връшаме променливата "$code" с уникалния код. Вече може да я правите каквото поискате echo $code; ?> Както виждате вече е с 1 заявка по-малко |
|
|
7.04.2010г. в 21:06ч.
Коментар:
#2
|
|
|
Новак ![]() Група: Потребители Съобщения: 1 Дата на регистрация: 7.04.2010г. Потребител # 10 715 |
Не става!
|
|
|
![]() ![]() |