[PHP] Creare numero ticket casuale

AngelaM85

Nuovo Utente
6 Set 2016
9
0
1
35
Buongiorno,

Devo creare un sistema di assegnazione numero ticket. Il mio dubbio è su come procedere per l'assegnazione del numero evitando di creare doppioni. Pensavo di generare un alfanumerico, composto da TK_num, in cui num non sia troppo lungo, l'ideale sarebbe creare il num progressivo, ma va bene anche un numero casuale.

Spero di essere stata chiara ;-)
Si accettano consigli su come procedere.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, immagino che memorizzerai i ticket sul database. Puoi semplicemente utilizzare un campo increment per assegnare il numero.
PHP:
$lastID = 10;
$ticket = "TK_" . str_pad($lastID, 6, 0, STR_PAD_LEFT);
echo $ticket;
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
148
63
PR
www.borgo-italia.it
ciao
potresti fare così
PHP:
<?php
$t=time();//leggi il timestamp al momento che inserisci il tiket
$c=rand(10,99);//per sicurezza generi un numero casuale di due o più cifre
$nome_tiket="".$t.$c;//per sicurezza lo forzo a stringa
//o semplicemente: $nome_tiket="".$t=time().rand(10,99)
?>
tra l'altro, potrebbe essere comodo perche dal nome puoi ricavare anche il momento in cui l'hai inserito

ops non avevo letto criric, che se usi un db va meglio, io pensavo che tu volessi dare un nome ad un file
 

lorenzo84

Utente Attivo
22 Lug 2012
239
0
16
Ciao,
Partendo dal presupposto che uso il db per memorizzare i ticket, ho usato il campo id magari associando altri caratteri o numeri esempio: XY12017 / XY22017 .
Oppure generando un codice casuale utilizzando un ciclo do while per verificare se quel codice non esiste già.
 

marino51

Utente Attivo
28 Feb 2013
3.036
192
63
Lombardia
ci sono già diversi suggerimenti,
tutto sta a capire se ti serve,
una sola sequenza o più sequenze,
un numero limitato o senza limiti di cifre

giusto per contribuire, puoi usare la funzione microtime, che puoi trovare nel manuale php con esempi
http://php.net/manual/en/function.microtime.php

altrimenti per più sequenze meglio avere dei record, uno per sequenza, in una tabella del db, che incrementi al bisogno, la chiave di identificazione può essere il codice alfa(numerico) che identifica la sequenza
questa sarebbe la soluzione che permette evoluzioni future senza cambiare nulla nel criterio di assegnazione dei "numeri", basta aggiungere nella tabella i nuovi record con il valore di partenza assegnato
potrebbe avere anche la possibilità di inizializzazione giornaliera (vedi ticket dei "cup")

considera che numeri random, con un numero limitato di cifre, su lunghe sequenze, potrebbero ripetersi,
usavo numeri random per ottenere distribuzioni di probabilità, numeri che,
all'interno di un range limitato si ripetevano
per esempio usa un dado per ottenere un numero casuale da 1 a 6,
quante volte si ripete ciascuna faccia se lanci il dado + volte ?
 
Ultima modifica:

AngelaM85

Nuovo Utente
6 Set 2016
9
0
1
35
Ciao, grazie a tutti delle risposte e dei suggerimenti. Penso che farò delle prove per vedere quale metodo è più adatto alle mie esigenze ;-)
 
Discussioni simili
Autore Titolo Forum Risposte Data
B ciclo in PHP per creare numero progressivo PHP 2
S Libreria PHP per creare file dwg o dxf PHP 0
J creare pagina php di prenotazione PHP 5
F [PHP] creare tabella e tasto cerca PHP 3
B [PHP] Creare PDF dopo inserimento dati form PHP 4
R [PHP] Creare sistema random PHP 3
D [PHP] Consigli su come creare form PHP 1
T [PHP] Creare Honeypot per form contatti PHP 10
S [PHP] Creare collegamento filtri di ricerca al database PHP 6
Z Creare VirtualHost Apache2 con PHP? Programmazione 0
T con oop creare un ciclo per una pagina dinamica html con php PHP 3
E [PHP] creare temporary table per dati da xml PHP 2
R [PHP] creare pagina profilo per ogni utente PHP 4
M [PHP] Creare un menu a tendina con pdo PHP 18
G [PHP] Creare mail con allegato nascosto e bottone di richiamo PHP 0
C [PHP] Creare un Pulsante che ricopia valori di un campo in altro record PHP 4
Shyson [WordPress] [PHP] Creare codice che evidenzia nuovi articoli WordPress 0
ANDREA20 creare sito in php PHP 6
G [PHP] Creare appuntamento ed inviarlo tramite mail (Outlook e Gmail) PHP 0
F [PHP] Creare un'area web riservata PHP 13
S [PHP] [HTML] Come creare un grafico dinamico PHP 4
V Creare tabella mysql con php non funziona PHP 1
M Creare tabella da pagina php popolata con valori passati con POST PHP 5
B [PHP] hp script creare un utente diminuendo -1 e cosi via PHP 1
AntoCastro [PHP] Creare un sito di quiz a catena PHP 17
V Creare funzioni PHP per agevolare bootstrap PHP 1
B funzioni per creare file e inserirli dentro una certa cartella in php? PHP 1
F Creare pagina PHP come quella di phpMyadmin PHP 12
M Creare tabella da pulsante php PHP 6
M Creare un exe da un listato php PHP 5
P [PHP] Creare un elenco completo con tabella PHP 3
Zea [PHP] RISOLTO - creare link con il risultato dell'interrogazione db PHP 1
utente è possibile creare una pagina php che copia interamente il contenuto di un'altra pagina ? PHP 10
giannit [PHP] Creare pagina con collegamenti ipertestuali da file txt PHP 6
B [PHP] Creare un'interfaccia di inserimento testo in varie posizioni PHP 1
sandropochi [PHP] Form per creare filtro di ricerca su DB PHP 8
L [PHP] Creare un uploader di file csv xls e ricercare i risultati PHP 0
Zayciho [PHP] Creare sito web dinamico PHP 5
P [PHP] Creare elenco immagini PHP 2
L [php e xml] per creare una galleria fotografica con diversi file xml PHP 0
M [PHP] Creare chart con highchart PHP 6
T [PHP]Creare cookie PHP 5
Monital [PHP] Creare un array da stringa con diversi spazi PHP 3
P [PHP] come creare una chat PHP 24
trattorino Creare codice php help PHP 26
R [PHP] [HTML] Creare script invio modulo contatti PHP 2
romeocharly Creare un script/codice in php per collegare un id mysql con un file PHP 0
S PHP: creare un link in una pagina PHP 7
D Cerco Collaboratore in gradio di creare siti in wordpress, joomla, e PHP Offerte e Richieste di Lavoro e/o Collaborazione 7
V creare un collegamento di pagina html in php PHP 10

Discussioni simili