Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Generatore numero casuale non esistente

    Durante una registrazione ad un sito devo assegnare un numero generato secondo un mio criterio casuale, il quale però non deve già essere stato utilizzato nel database. Vorrei capire come realizzare una funzione che mi dia come output un codice che non sia stato già utilizzato nel DB. Pensavo ad un controllo con ciclo while ma non saprei. Consigli?
    Il 90% dei problemi di un pc si trova
    tra la tastiera e la sedia.

  2. #2
    secondo un mio criterio casuale
    :master:


    puoi far cosi. generi come generi adesso il codice... e gli aggiungi l'id univoco del record della tabella in cui lo vuoi registrare...

    per capire tabella PIPPO
    id_pippo codice
    1 938329_1
    2 938329_2

    se devi aggiungere un 3 record il codice sara' nuero_causale_3
    http://www.mcganass.com

  3. #3
    innanzitutto se si tratta di un semplice id potresti usare u campo autoincrement per la tabella...

    altrimenti semplicemente lo generi (ci sono scriptini pe ril random ovunque nel forum) su un insieme abbastanza ampio da pescare difficilmente doppioni... dopo averlo generato controlli se esiste già ed in tal caso ne generi un altro.. etc etc.. con un ciclo while tela cavi insomma...


  4. #4
    se il codice ha diversi caratteri è difficilissimo che riesce a formarne uno che già c'è nel database.
    Come li carichi questi codici? nello script? rand(); e microtime ????
    Sistemi di allarme, telecamere, autoradio, video proiettori e altri prodotti tecnologici: fedom.it

  5. #5
    devo generare un numero lungo sempre 10 cifre, che non inizi con 0 e che abbia una sorta di prefisso uguale per tutti, il resto tutto casuale. butto qui un po' di codice, correggetemi please :P
    Codice PHP:
    do {
    $codice makenewcode(); //la funzione genera un codice a caso
    $query "SELECT * FROM utenti WHERE codice=".$codice;
    $risultato mysql_query($query);
    $numerorighe mysql_numrows();
    } while (
    $numerorighe == 0)
    echo 
    "Il codice unico è: ".$codice
    giusto così?
    Il 90% dei problemi di un pc si trova
    tra la tastiera e la sedia.

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.