rakam ve harflerden oluşan bir dize ile otomatik artış

3 Cevap php

Şu anda benim web kaynaklarını tespit otomatik artışı kullanarak im.

Sorun i kullanıcılarının vardır kaç kaynaklar bilmek istemiyorsun.

Nasıl yerine i kullanabilirsiniz yapılandırılmış bir çeşit harf ve rakamlardan "rastgele" kombinasyonu (6 basamaklı diyelim) yerine otomatik birincil anahtar numaralarını arttırma (veya ilave olarak) kullanabilirsiniz.

Temelde ben kullanıcıların görmek istiyorum

website.com/page.php?4jnd32

yerine

website.com/page.php?13

Hatta bu uygulama bir cevap aramak için benim yeteneğini engellemektedir hangi ne denir bilmiyorum

3 Cevap

Sonra PHP'nin uniqid işlevini kullanın: (fake_id örneğin) Eğer gerçekten bunu istiyorsan, yeni bir alan oluşturmak.

Bu önemli ölçüde daha uzun "4jnd32" den olurdu karşın bir GUID kullanabilirsiniz. Bir guid bir genel benzersiz tanıtıcı olduğunu. Bu benzersiz sayfaları tanımlamak istiyorum, ama kullanıcıya vardır kaç sayfa herhangi bir fikir vermek veya sayfaya bir sipariş vermezdim.

PHP konusunda uzman değilim, ama hızlı arama php oluşturmak için bir işlevi vardır işaret görünüyor GUIDs.

MySQL destekleri UUIDs. Ama otomatik olarak bu çalışma almak için bir tetikleyici kullanmak isteyeceksiniz.

CREATE TABLE `tester` (
  `tester_id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  `uuid` VARCHAR(64),
  `foo` VARCHAR(45),
  PRIMARY KEY (`tester_id`),
  INDEX `index_uuid`(`uuid`)
)
ENGINE = InnoDB;

delimiter |
CREATE TRIGGER tester_uuid BEFORE INSERT ON `tester`
FOR EACH ROW BEGIN
  SET NEW.uuid = UUID();
END;
|
delimiter;

INSERT INTO tester (foo) VALUES('bar'), ('baz');

SELECT * FROM tester;