Facebook Sharer
选择您要替换的背景颜色:
【农历新年】背景图片:
个性化设定
 注册  找回密码
查看: 3905|回复: 20
打印 上一主题 下一主题

[PHP + MYSQL] 高手们进来下。

[复制链接]

46

主题

6

好友

6456

积分

百变名嘴

Rank: 13Rank: 13Rank: 13Rank: 13

跳转到指定楼层
1#
发表于 2010-2-12 05:07 PM |只看该作者 |正序浏览
我现在有个table 是Product。

但是 Product 有个特定的 ID。

比如说, L0009 000 ~  L0009 001 ........  n

但是我要怎么才能够弄到他们在Mysql 内 AutoIncrement 呢?

我之前的做法是用 PHP 找最大的 ID 出来 然后 + 1 下去

请高手们分享下你们的做法




收藏收藏0

13

主题

0

好友

6850

积分

百变名嘴

Rank: 13Rank: 13Rank: 13Rank: 13

21#
发表于 2010-2-26 09:43 PM |只看该作者
依照tomato的方法,不过save进database的table里,记录最后一次的value,prefix,suffix,length。
一个table还可以用product以外的东西。
php做不知道可不可以?


回复

使用道具 举报

46

主题

6

好友

6456

积分

百变名嘴

Rank: 13Rank: 13Rank: 13Rank: 13

20#
发表于 2010-2-26 09:30 AM |只看该作者

回复 #18 davidbilly87 的帖子

哎哟~没欺负勒,我也不是什么专业的。只是做点小project罢了。
这里是论坛, 当然是讨论跟交流啊。


回复

使用道具 举报

2

主题

0

好友

224

积分

支柱会员

Rank: 4Rank: 4Rank: 4Rank: 4

19#
发表于 2010-2-25 07:57 PM |只看该作者
原帖由 Super-Tomato 于 2010-2-25 11:09 发表



如果你真要這么做的話,可以參考PHP手册的 str_pad 函数要方便的多


string function 不是很会,毕竟少用嘛


回复

使用道具 举报

2

主题

0

好友

224

积分

支柱会员

Rank: 4Rank: 4Rank: 4Rank: 4

18#
发表于 2010-2-25 07:55 PM |只看该作者
原帖由 宅男-兜着走 于 2010-2-25 02:52 发表
你的这个做法是每个 auto_increment 的 int id 拿出来 然后 for loop , 0 下去, 再 组 “product” 下去嘛 ==

看我的。

$formatProductId = "product %05s"; // product id 的格式, format。

for( ...


  你能用 array的嘛, 外面看起来是 product 0001 ,但里面是 1 而已,拿来找资料.....刚学不久嘛,不要欺负嘛


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

17#
发表于 2010-2-25 11:09 AM |只看该作者
原帖由 davidbilly87 于 2010-2-25 02:14 AM 发表



database just use auto increment  1,2,3 随便

$SQL = "SELECT * FROM table1";
$colum1=取出 auto increment data;

$colum1_length=strlen($colum1);
$length=5;  //00000
$for_loop= $length ...



如果你真要這么做的話,可以參考PHP手册的 str_pad 函数要方便的多


回复

使用道具 举报

46

主题

6

好友

6456

积分

百变名嘴

Rank: 13Rank: 13Rank: 13Rank: 13

16#
发表于 2010-2-25 02:52 AM |只看该作者

回复 #15 davidbilly87 的帖子

你的这个做法是每个 auto_increment 的 int id 拿出来 然后 for loop , 0 下去, 再 组 “product” 下去嘛 ==

看我的。

  1. $formatProductId = "product %05s"; // product id 的格式, format。

  2. for($i = 0 ; $i < 10000; $i++){ // 假设 10000笔资料, 然后我create 10000 笔, 0~9999
  3. printf("$formatProductId" , $i."\n"); // 用printf 的function
  4. }


复制代码

http://php.net/manual/en/function.printf.php

你这方法, 如果 人家要search data by id 的话。。。。

不过谢谢。


回复

使用道具 举报

2

主题

0

好友

224

积分

支柱会员

Rank: 4Rank: 4Rank: 4Rank: 4

15#
发表于 2010-2-25 02:14 AM |只看该作者
原帖由 宅男-兜着走 于 2010-2-12 17:07 发表
我现在有个table 是Product。

但是 Product 有个特定的 ID。

比如说, L0009 000 ~  L0009 001 ........  n

但是我要怎么才能够弄到他们在Mysql 内 AutoIncrement 呢?

我之前的做法是用 PHP 找最 ...



database just use auto increment  1,2,3 随便

$SQL = "SELECT * FROM table1";
$colum1=取出 auto increment data;

$colum1_length=strlen($colum1);
$length=5;  //00000
$for_loop= $length-$colum1_length;


for($i=0;$i< $for_loop;$i++){
   $count_zero.="0";
}
$result="Product ".$count_zero.$colum1;


// if colum1 一位数 = 1
//$count_zero = 0000
// result = Product + 0000+ 1
// answer Product 00001

// if colum1 2位数 = 22
//$count_zero = 000
// result = Product + 000+ 22
// answer Product 00022


还没跑过的,你试试看.....


回复

使用道具 举报

31

主题

0

好友

1228

积分

黄金长老

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

14#
发表于 2010-2-13 03:44 AM |只看该作者
哦对我忘记了, varchar 也是可以 order 的哈哈排写.


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

13#
发表于 2010-2-13 02:20 AM |只看该作者
原帖由 ~Zero 于 2010-2-12 09:57 PM 发表
跟 database 的 auto increment 比起来当然会有差别.
一开始数据还少的时候是感觉不到的, 可是当数据多了的时候就会慢慢 feel 到了.

不然还有一个方法, 很荒谬, 可是应该可以解决你奇怪的要求, 又不会牺牲太 ...

既然你的 ID 是 varchar, 可以先了解一下你是怎么 query 最大的?


SELECT xx FROM db [conditions] ORDER BY xx DESC LIMIT 1


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2025-1-9 04:10 PM , Processed in 0.122919 second(s), 28 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

Ultra High-performance Dedicated Server powered by iCore Technology Sdn. Bhd.
Domain Registration | Web Hosting | Email Hosting | Forum Hosting | ECShop Hosting | Dedicated Server | Colocation Services
本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved
合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部