如果我有這樣的模式建立的ID:發現第一種可能性
CX00
其中0的是可更換的只是一個號碼..但以下是已在使用中:
- CX00
- CX02
- CX04
- CX05
- CX07
- CX10
- CX11
- CX12
我怎樣才能輕鬆地通過PHP或MySQL查找值CX01, CX03, CX06, CX08, CX09, CX13+
作爲可用值?
如果我有這樣的模式建立的ID:發現第一種可能性
CX00
其中0的是可更換的只是一個號碼..但以下是已在使用中:
- CX00
- CX02
- CX04
- CX05
- CX07
- CX10
- CX11
- CX12
我怎樣才能輕鬆地通過PHP或MySQL查找值CX01, CX03, CX06, CX08, CX09, CX13+
作爲可用值?
我不知道你的數據是如何存儲的,所以我將離開獲取數組中的ID。一旦你這樣做,這將找到下一個可用的。
<?php
function make_id($n) {
$out = 'CX';
if ($n < 10) $out .= '0';
return $out . $n;
}
// Get these from some source
$items = array('CX00', 'CX02', 'CX04', 'CX05');
$id = make_id(0);
for($i=0; in_array($id, $items); $i++)
$id = make_id($i);
echo $id;
?>
這被稱爲蠻力方法,如果您有很多ID,那麼可能會有更多有效的方法。最多100個,不應該有任何問題。
在PHP中,只需使用for循環計算出id,直到找到足夠多的未使用的ID爲止......您預計會有多少個總ID?
爲什麼你不只是使用例如一個自動增量字段? –
因爲我正在做一些想要重複使用一次刪除ID的公司..如果它只是那麼簡單> _ < – Sander
然後這將是棘手!我不認爲你可以構建一個查詢,說「給我第一個不在桌子上」。我懷疑除了每次循環之外,你還有很多選擇。 (也許你可以做一次性的練習,生成一個未使用的ID列表。) –