Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Discussione: Generare un numero

  1. #1

    Generare un numero

    Ciao a tutti ragazzi!! Vi chiedo una cosa.. devo generare un numero random diverso da una lista di numeri gia presenti in un database mysql come posso fare??

    In pratica devo generare un numero che non sia già presente in un database

    e lo creo con

    $serie= rand (33000,80000);

    una volta che ottengo questo numero devo verificare che non l'avevo gia creato in precendenza, se l'avevo gia creato deve tornare indietro altrimenti può andare avanti lo script


    Aiutoooooo

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    se quello che intendi è estrarre un solo record casualmente fai così

    SELECT * FROM tabella ORDER BY REVERSE(RAND()) LIMIT 1

    altrimenti spiegati meglio.

  3. #3
    prendi dal database tutti i dati li inserisci in un array e dopo con la funzione array_rand() ne prendi uno casualmente.
    Realizzazione siti web:
    http://www.giacomotomolillo.net/

  4. #4
    no devo generare un numero random, ma dopo averlo generato deve controllare se il numero generato è presente in un database se non c'è "OK" altrimenti deve generarne un altro finchè non lo sia.

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Mi sembra un pò contorta come cosa. Cmq puoi usare la funzione mt_rand di php e poi fare la query ponendo come condizione che l'id (o il campo che interessa a te) sia pari a quel numero, se il numero di righe restituite è pari a 0 generi un altro numero.

    edit: a te serve il contrario. quindi se è diverso da 0 generi un altro numero.

  6. #6
    non riesco qualcuno può aiutarmi per favore??

  7. #7
    Codice PHP:
    function random_number()
    {
    global 
    $db;

    $number rand(010000);

    $query mysql_query("SELECT * FROM nome_tabella WHERE number = $number"$db);

    if( 
    mysql_num_rows($query) > )
    {
    random_number();
    }
    else
    {
    return 
    $number;
    }

    prova questo codice, la variabile $db è link alla connessione mysql, se non è $db cambiala.
    Realizzazione siti web:
    http://www.giacomotomolillo.net/

  8. #8
    Grazie Jostock adesso provo...

  9. #9
    tutto ok .. il codice funziona però adesso avrei da implementare dentro quel codice una condizione if... che genera quel codice in base ad una variabile precedentemente creata.

    if ($anno = 1969) {
    $serie = rand(38000, 39000);
    }
    elseif ($anno = 1970){
    $serie = rand(39000, 40000);
    }
    elseif ($anno = 1971){
    $serie = rand(40000,41000);
    }
    elseif ($anno = 1972){
    $serie = rand(40000, 42000);
    }
    elseif ($anno = 1973){
    $serie = rand(42000,43000);
    }
    elseif ($anno = 1974){
    $serie = rand(43000, 44000);
    }
    elseif ($anno = 1975){
    $serie = rand(44000,45000);
    }
    elseif ($anno = 1976){
    $serie = rand(46000, 47000);
    }
    elseif ($anno = 1977){
    $serie = rand(47000,48000);
    }
    elseif ($anno = 1978){
    $serie = rand(48000, 50999);
    }
    elseif ($anno = 1979){
    $serie = rand(51000,52999);
    }
    elseif ($anno = 1980){
    $serie = rand(53000, 54999);
    }
    elseif ($anno = 1981){
    $serie = rand(55000,56999);
    }
    elseif ($anno = 1982){
    $serie = rand(57000, 60000);
    }
    elseif ($anno = 1983){
    $serie = rand(66000,68000);
    }
    elseif ($anno = 1984){
    $serie = rand(70000, 74000);
    }
    elseif ($anno = 1985){
    $serie = rand(75000,78000);
    }
    elseif ($anno = 1986){
    $serie = rand(80000,90000);
    }

    cosa c'è che non va?? in teoria dovrebbe creare il numero random in base a $annoimm , invece il codice mi genera sempre il numero random in base alla prima condizione "if"

    xke??

  10. #10
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    f ($anno == 1969) {

    solo un uguale fa l'assegnazione non il confronto.

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.