2016-04-12 14 views
-2

Ich versuche, Support-Tickets für meine Website-Support-Option zu generieren. Ich werde nicht viele Funktionen mit dem Support-System verwenden. Ich möchte nur, dass die generierten Ticket ID Nummern nicht wiederholt werden. Was ich versuchte, gab mir zweimal "0" in meiner Datenbank und einzelne Ziffern manchmal.Wie generiere ich IDs für Supporttickets?

Was ich will ist, dass jedes Mal, wenn ein neues Ticket generiert wird, sollte es konsistente Anzahl von Ziffern haben und nie wieder zu wiederholen.

Im Folgenden ist mein Code, die ich verwende:

$token = openssl_random_pseudo_bytes(16); 
    $ticket = bin2hex($token); 

Bitte leite mich einen besseren Weg.

+0

Kannst du nicht einfach eine normale auto_increment verwenden? – Manikiran

+0

Sie tun das nicht mit einer Zufallszahl. Mit einem Zufall können Sie _obviously_ keine Vorhersagen über die Reihenfolge machen. Stattdessen verwenden Sie die in die Datenbank integrierten Funktionen. Entweder ein "Autoinkrement" wie MySQL oder ein Schlüsselgenerator, wie er in anderen relationalen Datenbanksystemen verwendet wird. – arkascha

+1

@ayan Chill Kumpel, können Sie es einfach tun, ohne Codierung in PHP. Führen Sie einfach diese mysql-Anweisung aus. 'ALTER TABLE Tokens AUTO_INCREMENT = 100000;' – Manikiran

Antwort

-1

Welche Art von Datenbank verwenden Sie?

Verwenden Sie Auto-Inkrement, um eindeutige IDs für Ihre Tickets zu erstellen. MySql hat einen Artikel über seine here

+1

Das ist keine Antwort, das ist ein Kommentar. – Manikiran

+0

verwende mysql. Ich war auf der Suche nach 6-stelligen Nummern. Welchen Prozess folgen die Ticket-Skripte? – Ayan

+0

@Ayan Andere Ticket-Skripte verwenden normalerweise auch auto_increment. –