JBTALKS.CC
标题:
要怎样设置呢?A00001, A00002... A00010
[打印本页]
作者:
nic58191
时间:
2010-4-2 06:46 PM
标题:
要怎样设置呢?A00001, A00002... A00010
Hi,
我想问问,我要怎样设置呢?
我用 php n mysql
我要怎样auto generate 这样的agent id呢?
A00001, A00002 ... A00010
谢谢回答
作者:
nic58191
时间:
2010-4-2 07:16 PM
我从另个论坛得到的example,对不对呢?
function generate_agent_id(){
$sql = "select agent_id from agent order by agent_id desc limit 1";
$result = mysql_query($sql);
if (mysql_num_rows($result) > 0){
$agent_id = mysql_result($result, 0,"agent_id" );
$agent_id = substr($agent_id, 1);
$agent_id = (int) $agent_id;
$agent_id++;
$n = 5 - strlen($agent_id);
$agent_id = "A" . str_repeat("0", $n) . $agent_id;
} else {
$agent_id = "A00001";
}
return $agent_id;
}
复制代码
作者:
宅男-兜着走
时间:
2010-4-2 07:23 PM
回复
1#
nic58191
这个问题我问过了, 那就是把 number 放在个 .txt 里, 然后记入 number 到哪里了。 .xml 文件也可以。
作者:
nic58191
时间:
2010-4-2 07:58 PM
回复
3#
宅男-兜着走
那你可以给我example吗?
谢谢
作者:
~Zero
时间:
2010-4-2 10:15 PM
回复 nic58191
这个问题我问过了, 那就是把 number 放在个 .txt 里, 然后记入 number 到哪里了 ...
宅男-兜着走 发表于 2010-4-2 07:23 PM
你的方法只不过是考虑到 database query 的速度, 当 database 很大的时候会比较快一点.
如果纯粹只是解决问题, 或是比较小的 database 的话, 楼主的 example 其实也是可行的.
作者:
myEsc
时间:
2010-4-3 01:17 PM
mysql自带auto index
作者:
nic58191
时间:
2010-4-3 11:34 PM
所以要怎样做呢?
作者:
宅男-兜着走
时间:
2010-4-3 11:55 PM
回复
7#
nic58191
function generate_agent_id(){
$sql = "select agent_id from agent order by agent_id desc limit 1";
$result = mysql_query($sql);
if (mysql_num_rows($result) > 0){
$agent_id = mysql_result($result, 0,"agent_id" );
$agent_id = substr($agent_id, 1);
$agent_id = (int) $agent_id;
$agent_id++;
$n = 5 - strlen($agent_id);
$agent_id = "A" . str_repeat("0", $n) . $agent_id;
} else {
$agent_id = "A00001";
}
return $agent_id;
}
复制代码
这方法很好啊, 为什么不使用??
作者:
nic58191
时间:
2010-4-4 01:24 AM
回复
8#
宅男-兜着走
请问要怎样应用这个呢?
要怎样call 这个呢 generate_agent_id()
作者:
宅男-兜着走
时间:
2010-4-4 02:01 AM
回复
9#
nic58191
怎么Call== 。。。。。
<?php
mysql_conn
..... blah blah,
很久没用 PHP 了, Connect 的Function 自己去找。
function generate_id(){
//你之前的那个Code
}
//现在才是 Call
$currentId = generate_id();
mysql_close();
?>
就如此。
复制代码
作者:
nic58191
时间:
2010-4-5 10:40 PM
ok,
弄到了
作者:
cslyzon
时间:
2010-4-22 12:50 PM
其实 alter AUTO_INCREMENT=1就可以了
作者:
nic58191
时间:
2010-4-22 09:04 PM
回复
12#
cslyzon
如果以你的方法,可以做到A00001吗?
最多可以1,2,3.....
作者:
nic58191
时间:
2010-4-22 09:06 PM
回复
10#
宅男-兜着走
现在我要做sub agent id
A0000101, A0000102, A0000103
类似这样的,要怎样呢?
作者:
磨刀狂徒
时间:
2010-4-22 09:51 PM
本帖最后由 磨刀狂徒 于 2010-4-22 09:53 PM 编辑
不谈php的思路,只谈简单的sql数据库设计思路,
在mysql下 先设定你的store last_id = A0000000
然后再设定 AUTO_INCREMENT=1 就可以了
下一个输入的id就=A0000001
其实问题有很多种解法,你可以选择适合你自己的
作者:
宅男-兜着走
时间:
2010-4-22 10:24 PM
回复
14#
nic58191
参考楼上的, 不过第一页的 Function 不能用吗??
作者:
nic58191
时间:
2010-4-23 12:05 AM
回复
16#
宅男-兜着走
我有main agent和main agent's agent
第一楼的适合用于main agent
Example, Main Agent A00001
Main agent's agent A0000101, A0000102
欢迎光临 JBTALKS.CC (https://jbtalks.my/)
Powered by Discuz! X2.5