Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    96

    Creare un codice univoco con metodo random

    Salve, volevo chiedervi un consiglio. Ho creato un e-commerce dove ogni ordine viene memorizzato in ciascun record, per tre articoli ordinati, ad esempio , avrò tre record. Allora ho pensato prima di riempire i campi del database di generare un numero univoco (che sarà un campo del database) con il metodo rand che funga da identificatore per tutti i record del suddetto ordine, in modo tale che quando vorrò richiamarlo potrò usare quel numero univoco. Prima che il campo venga riempito da questa variabile generata , faccio un ciclo while per verificare che questo numero non abbia dei precedenti doppioni nella tabella, se l'esito è negativo faccio inserire i record nel database.

    Secondo voi è un metodo valido?

  2. #2
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    Certo che non lo è!

    Generare dei numeri casuali non ti da garanzia che un'estrazione si ripresenti. E all'aumentare delle estrazioni aumenta la possibilità di collisioni con esecuzione sempre maggiori esecuzioni del "while" ed allungamento dei tempi di risposta.

    Crea una tabella ordini. Quando registri un Ordini da questa tabella ottieni un id_ordine (numero ordine + anno o un autoincrement), quindi utilizzi questa informazione in una seconda tabella DettagliOrdine in cui avrai come minimo l'id_articolo e id_ordine.

    Siamo sempre troppo gelosi delle nostre grandi piccole opere! - Grino inedito.
    Lavori e Lavoretti

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    96
    Ma non può ripresentarsi perchè io prima di riempire il campo verifico se già esiste. Questo sistema allunga i tempi? Ma allora un facebook che ha milioni di utenti quando fa il login un utente che si trova al pen' ultimo record ci mette 1 giorno?

    Comunque voglio valutare il tuo consiglio solo che non ho capito tanto, questo id_ordine che otterrei cosa sarebbe l'autoincrement? Se è quello che ho capito io se un ordine riempie 3 record cosa avrò di univoco per richiamare i 3 record?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    96
    Oggi pensavo, e se mettessi come codice univoco per ogni ordine il numero dei record totali ogni volta? Ogni ordine così anche se fosse compreso di più di un record avrebbe un solo numero che per ogni nuovo ordine verrebbe incrementato di uno. Certo dovrei prima di inserire l'ordine creare una select per scoprire quanti record ci sono attualmente.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    96
    Leggendo qua e là ho capito cosa volevi dire, quindi ti ringrazio dello spunto anche se non l'ho colto subito.


    ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.