내 경매 관리 소프트웨어에서 한 기능은 입찰자 번호 관리입니다. 이 경우 이전에 사이트에 등록한 고객에게 영구 입찰자 번호 (또는 구매자 번호)를 할당 할 수 있습니다.다음 사용 가능한 "입찰자 번호"선택
내 문제는 사용자에게 주어진 영구 번호가없는 경우 최소한의 사용 가능한 입찰자 번호를 찾고 할당하는 방법을 찾을 수 없다는 것입니다.
예 : 주어진 이벤트 (경매 이벤트)에는 4 개의 등록 된 입찰자가 있습니다.
Bidder #1 => Assigned #21 (has perm num set to #21)
Bidder #2 => Assigned #1 (has no perm num set)
Bidder #3 => Assigned #3 (has perm num set to #3)
Bidder #4 => Assigned #2 (has no perm num set).
또한 누군가가 해당 퍼미션 num을 갖고 있으면 숫자를 스킵해야합니다. 지금까지 그래서,
Bidder #5 => Assigned #5 (for example) because #4 is taken by someone with perm num set to #4
내 코드 :
if(!empty($_GET['add_bidder'])){
$cID = $_GET['add_bidder'];
$eID = $_GET['eventID'];
$eDI = $_GET['eDI'];
$sum = 0;
$match = 0;
$sendtext = mysql_query("SELECT c_sms_to_bidders FROM as_companies WHERE c_userID='".mysql_real_escape_string($_GET['s'])."'");
$send = mysql_fetch_array($sendtext);
$getInfo = mysql_query("SELECT * FROM as_users WHERE userID='".$cID."'");
$gotInfo = mysql_fetch_array($getInfo);
$checkPermB = mysql_query("SELECT c_c_PermB FROM as_company_options WHERE c_c_Company='".$_GET['s']."' AND c_c_User='".$gotInfo['user_token']."' LIMIT 1");
$checkedPermB = mysql_num_rows($checkPermB);
if($checkedPermB > 0){
// User has a perm number.
} else {
// User doesn't have a perm number. Let's get all the reserved values..
$checkPermBNumber = mysql_query("SELECT c_c_PermB FROM as_company_options WHERE c_c_Company='".$_GET['s']."'");
$gotPermBNumbers = mysql_num_rows($checkPermBNumber);
if($gotPermBNumbers > 0){
$biddernum = 1;
if($gotPermBNumbers > 0){
while($biddernums = mysql_fetch_assoc($checkPermBNumber)){
if($biddernum == $biddernums['c_c_PermB']){
$biddernum++;
continue;
} else {
break;
}
}
echo "bidder will be given #".$biddernum;
}
}
}
} else {
// invalid approach
}
가 사용되지 않는 기능을 무시하십시오, 예를 목적으로 입력하기 쉽게했다.
그래서 내 질문으로 돌아가며 .. 내가 뭘 잘못하고 있니? 다음은 나의 플로차트입니다.
Add Bidder Function Fired =>
Get Info About Given User =>
Check if User Has Perm # =>
=> yes
- get perm bid num, assign, save & wait to add another
=> no
- get next available bidder num (can't be a num that someone has reserved (perm num) and can't be already taken (for given event; bidder numbers are per event), assign next available bidder num, save & wait to add another
은 어떻게됩니까 (즉 숫자는 미래의 작용에 의해 무효화)? 가장 쉬운 방법은 영원한 번호와 비 영구적 인 번호에 대해 분리 된 집합을 만드는 것입니다. 편지 접두어로. –