Hướng dẫn auto generate roll number in php - tự động tạo số cuộn trong php

Tôi cần số thứ tự được tạo tự động nhìn chằm chằm từ 001 chỉ trong 3 chữ số trong PHP / MySQL

Ex: 001 Tiếp theo sẽ là 002 và Next sẽ là 003 ... 009 .. 010 ..119..120..ETC nhưng số được tạo nên theo trình tự khôn ngoan không giống như 001 sau đó 120 hoặc 008, v.v. .

Trên thực tế tôi có hệ thống theo dõi sản phẩm. Trường hợp tôi cần máy trộn ID sản phẩm chính của mình + số tự động (chỉ có thể thay đổi 3 chữ số nếu muốn) do đó ID sản phẩm cuối cùng của tôi trở thành:

111-001, 111-002, 111-003, 111-004 .... vv

Lưu ý: Số chuỗi tự động này sẽ được chèn vào cơ sở dữ liệu MySQL của tôi (sau khi thêm nút theo sau bởi truy vấn cập nhật (do đó chuỗi tự động của tôi sẽ được nhập vào cơ sở dữ liệu với truy vấn cập nhật)))

Đã hỏi ngày 29 tháng 11 năm 2013 lúc 10:23Nov 29, 2013 at 10:23

7

Chỉ cần thêm chiều dài 3 và zerofill vào cột ID của bạn.

ALTER TABLE  `YOUR_TABLE` CHANGE  
`id_column`  `id_column` INT( 3 ) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT

Đã trả lời ngày 29 tháng 11 năm 2013 lúc 10:37Nov 29, 2013 at 10:37

Hướng dẫn auto generate roll number in php - tự động tạo số cuộn trong php

BitworkbitworkingbitWorking

12.3k1 Huy hiệu vàng31 Huy hiệu bạc38 Huy hiệu đồng1 gold badge31 silver badges38 bronze badges

9

Điều này sẽ làm việc cho bạn với những sửa đổi nhỏ để phù hợp với yêu cầu của bạn

 

Đã trả lời ngày 29 tháng 11 năm 2013 lúc 10:31Nov 29, 2013 at 10:31

Praveenpraveenpraveen

2861 Huy hiệu bạc8 Huy hiệu đồng1 silver badge8 bronze badges

5

Thử mã này:

$maxDigit=5; //maximum digit of ur number
$currentNumber=0020;  //example this is your last number in database all we need to do is remove the zero before the number . i dont know how to remove it
$count=strlen($currentNumber); //count the digit of number. example we already removed the zero before the number. the answer here is 2
$numZero="";
for($count;$count<=$maxDigit;$count++)
     $numZero=$numZero+"0";

$newNum=$newNum+$currentNumber;

Đầu ra: 00020

Đã trả lời ngày 18 tháng 3 năm 2016 lúc 7:13Mar 18, 2016 at 7:13

❮ Tham khảo toán học PHP

Thí dụ

Tạo số ngẫu nhiên:

echo(rand() . "
");
echo(rand() . "
");
echo(rand(10,100));
?>

Hãy tự mình thử »


Định nghĩa và cách sử dụng

Hàm Rand () tạo ra một số nguyên ngẫu nhiên.

Mẹo ví dụ: Nếu bạn muốn một số nguyên ngẫu nhiên trong khoảng từ 10 đến 100 (bao gồm), hãy sử dụng RAND (10.100). If you want a random integer between 10 and 100 (inclusive), use rand (10,100).

Mẹo: Kể từ Php 7.1, hàm rand () là bí danh của hàm mt_rand (). As of PHP 7.1, the rand() function has been an alias of the mt_rand() function.

Cú pháp

Giá trị tham số

Tham sốSự mô tả
Tối thiểuKhông bắt buộc. Chỉ định số thấp nhất để trả về. Mặc định là 0
Tối đaKhông bắt buộc. Chỉ định số cao nhất để trả lại. Mặc định là getRandMax ()

Chi tiết kỹ thuật

Giá trị trở lại:Một số nguyên ngẫu nhiên giữa Min (hoặc 0) và Max (hoặc GetRandMax () bao gồm)
Loại trở lại:Số nguyên
Phiên bản PHP:4+
PHP Changelog:Php 7.1: hàm rand () là bí danh của mt_rand (). Php 4.2.0: Trình tạo số ngẫu nhiên được gieo hạt tự động.
PHP 4.2.0: The random number generator is seeded automatically.

❮ Tham khảo toán học PHP


Chúng ta có thể nhận được một số lượng tự động được tạo ra duy nhất từ ​​MySQL bằng cách tạo một trường tự động. MySQL sẽ tạo ra một số duy nhất bằng cách tăng số cuối cùng của bảng và sẽ tự động thêm vào trường tăng tự động.

Đây là cách tốt nhất để tạo số vé gặp sự cố cho hệ thống bàn trợ giúp. Trong một trường học, nếu một học sinh mới tham gia thì tất cả các chi tiết của học sinh, chúng ta có thể cho đến bàn học sinh và trong khi sử dụng truy vấn chèn. MySQL sẽ thêm một tự động được tạo ra một số duy nhất vào trường tăng tự động này. Chúng tôi không cần phải chỉ định bất kỳ dữ liệu nào trong truy vấn của chúng tôi trong khi thêm các chi tiết khác (ngoại trừ dữ liệu trường được tự động tự động).

Nhận ID duy nhất

Sau khi thêm thành công bản ghi, chúng tôi có thể nhận được số duy nhất này bằng cách sử dụng mysql_insert_id (). Đọc chi tiết về cách lấy số này bằng cách truy cập hướng dẫn tại đây. Bây giờ chúng ta hãy thử làm thế nào để tạo ra một trường tăng tự động như vậy.

Chúng ta phải làm cho số nguyên trường tăng tự động (rõ ràng) và cũng duy nhất. Thuộc tính được đặt thành tự động tăng. Dưới đây là SQL để tạo bảng sinh viên với một trường gia tăng tự động để gán một ID sinh viên duy nhất.

CREATE TABLE `student` ( 
`student_id` INT( 3 ) NOT NULL AUTO_INCREMENT,
`name` VARCHAR( 25 ) NOT NULL ,
`email` VARCHAR( 50 ) NOT NULL ,
UNIQUE (
`student_id`
)
);
Bây giờ chúng tôi sẽ thêm một bản ghi vào bảng này bằng một lệnh chèn.
INSERT INTO `student` (  `name` , `email` )
VALUES (  'john', '' );
Bạn sẽ tự động thấy trường student_id sẽ được thêm vào với 1 và cho bản ghi tiếp theo, nó sẽ nhận được giá trị tăng 2 tiếp theo.

Bằng cách này, chúng tôi có thể tạo ID tăng tự động cho mỗi bản ghi trong bảng của chúng tôi.

Sử dụng chức năng pdo php lastInsertid ()

Sử dụng hàm insert_id () php mysqli

Ví dụ về việc sử dụng trường tự động

  • Gán UserID duy nhất cho thành viên sau khi đăng ký.
  • Chỉ định số nhân viên sau khi thêm chi tiết về việc sử dụng mới vào bảng tuyển dụng của chúng tôi.
  • Cung cấp ID theo dõi cho một lô hàng sau khi nhận được cho công văn.
  • Số ứng dụng được tạo sau khi đăng ký thành công để kiểm tra.
Lưu ý rằng tất cả những con số này là duy nhất và hệ thống được tạo ra.

Giá trị tối đa của ID được chèn

Giá trị tối đa của ID được chèn phụ thuộc vào loại trường số mà chúng tôi đã chọn. Đối với Tinyint, nó sẽ có giá trị lên tới 127 cho không dấu, nó là 255. Sau khi việc tạo ID tăng tự động sẽ thất bại. Vì vậy, hãy cẩn thận trong khi tạo trường gia tăng tự động để phù hợp với các yêu cầu trong tương lai của bạn.

Bắt đầu từ số cao hơn

Thay đổi trường gia tăng tự động như thế này
ALTER TABLE student AUTO_INCREMENT = 50;

Giá trị được xác định trước cho trường tăng tự động MySQL

Chúng ta có thể bắt đầu một trường tăng tự động từ một giá trị được xác định trước. Ví dụ: khi chúng tôi phát hành số ID sinh viên, trong đó ID sinh viên là trường gia tăng tự động, chúng tôi có thể tạo ID với các giá trị 100001 từ bản ghi đầu tiên. Điều này có ích vì chúng tôi không muốn cung cấp một số như 1 cho học sinh đầu tiên và kết thúc với số 10004. Cách này chúng tôi có thể có số đầu tiên là 100001 và số cuối cùng 110005. Cách này tất cả các sinh viên sẽ có số sáu chữ số .

Điều này chúng ta có thể cẩn thận trong khi tạo bảng bằng cách thêm giá trị gia tăng tự động ở cuối. Đây là SQL để tạo bảng sinh viên với trường tăng tự động được đặt thành 100000

CREATE TABLE student (
  id int(7) NOT NULL auto_increment,
  name varchar(50) NOT NULL default '',
  class varchar(10) NOT NULL default '',
  mark int(3) NOT NULL default '0',
  sex varchar(6) NOT NULL default 'male',
  UNIQUE KEY id (id)
) auto_increment=100000 ENGINE=InnoDB  DEFAULT CHARSET=utf8 ;
Nếu bạn xóa tất cả các bản ghi bằng lệnh SQL cắt ngắn thì trong khi thêm bản ghi đầu tiên, trường gia tăng tự động sẽ bắt đầu từ 1.

Zerofill

Chúng tôi có thể điền số bằng cách thêm các số không (00001 hoặc 00025) bằng cách sử dụng zerofill.
CREATE TABLE IF NOT EXISTS `student4` (
   `id` int(5) unsigned zerofill NOT NULL AUTO_INCREMENT,
  `name` varchar(50) CHARACTER SET utf8 NOT NULL DEFAULT '',
  `class` varchar(10) CHARACTER SET utf8 NOT NULL DEFAULT '',
  `mark` int(3) NOT NULL DEFAULT '0',
  `gender` varchar(6) CHARACTER SET utf8 NOT NULL DEFAULT 'male',
  UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=38 ;

Thay đổi bảng và tạo một trường số khi tự động tăng

Đọc ở đây về cách tạo một số bản ghi được tạo tự động gia tăng trong bảng MSSQL.

Tài liệu tham khảo SQL Thu thập ID duy nhất sau khi chèn dữ liệu PHP MySQL cách xóa các bản ghi trong các bảng khác nhau
PHP MySQL How to delete Records in different tabels

Hướng dẫn auto generate roll number in php - tự động tạo số cuộn trong php