2016-09-14 5 views
-1

나는 며칠 동안 다음 코드를 사용하고 있습니다. 그것은 완벽하게 작동합니다. 하지만 이전에 단일 사용자가 앱을 사용했습니다. 하지만 지금은 한 번에 10 명이 사용하는 앱이 필요합니다. 문제는 사용자가 동일한 시간에 로그인 한 경우 동일한 번호를 표시하고 모든 10 명의 사용자로부터 동일한 티켓 번호를 삽입한다는 것입니다. 독특한 여부를 내가 로그인 한 사용자의 모든에 다른 번호/자동 증분 티켓 번호 생성

$query_cust_ts_number = "SELECT * FROM cust_comp ORDER BY `id` ASC"; 
$db->Execute($query_cust_ts_number); 

while($row = $db->FetchArray()){ 
    $cust_ts_number = $row['cust_ts_number']; 
} 
$entsplit = explode('-', $cust_ts_number); 
$entrynum = $entsplit[1]; 
$newentryno = $entrynum + 1; 
$entrynoxx = sprintf('%04d', $newentryno); 
$cust_ts_number = "TS-$entrynoxx"; 
+0

이것은 무엇입니까? MySQL은? ID에 AUTO_INCREMENT를 사용하십시오. PostgreSQL, 시퀀스를 사용하십시오. 다른 것? –

+0

MySQL과 나는 ID에 AUTO_INCREMENT를 사용하고 있습니다. 그 문제는 ... 문제는 .. 두 번째 사용자가 로그인 한 정보를 입력하는 동안 첫 번째 사용자가 로그인하고 티켓 번호 (TS-0001)를 얻었습니다. 그리고 그는 또한 번호 (TS-0001)를 받았습니다.) .. 내 코드가 마지막 번호를 찾고 있기 때문에 .. 그들이 양식을 제출할 때 둘 다 (TS-0001)을 제출할 것입니다. 나는 그것을 피하고 싶습니다. –

+0

AUTO_INCREMENT를 사용하는 경우에는 발생하지 않습니다. 같은 번호를 두 번받지는 않을 것입니다. ID의 TS 번호를 생성하면됩니다. 작업 완료. –

답변

0

당신이 고유 식별자를 예약하려는 경우가 데이터베이스에 그 작업을 수행하기 전에 그것을 유지를 보여줄 수있는 방법을

사람이 저를 제안 할 수 있습니다 확인 식별자가 이미 있습니다 (데이터베이스가이 작업을 수행 할 수 있음). 그러나 데이터베이스 엔진의 증분 ID를 사용하고 티켓 번호를 파생하는 것이 더 쉽습니다.