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

Discussione: Random? Mica tanto....

  1. #1

    Random? Mica tanto....

    Salute a tutti

    Ho una query su Db che mi deve restituire un id random.... la forbice è di 180 numeri, ma tra questi sembra che il mio codice abbia un amore quasi spasmodico al numero 30...

    mi spiego su 5 refresh almeno 3 volte l'id tirato fuori è il 30..

    Capitato anche a voi?c'è qualche accorgimento che ho ignorato?

    Ciauzz
    E' il cervello che ci rende folli o deliranti, che ci ispira terrori e paure, che, ci fa compiere errori sconsiderati, ci rende ansiosi senza scopo,ci rende inconsapevoli......

  2. #2
    senza codice è un po' difficile capire se sbagli qualcosa tu

  3. #3
    [supersaibal]Originariamente inviato da }gu|do[z]{®©
    senza codice è un po' difficile capire se sbagli qualcosa tu [/supersaibal]
    Hai ragione pure te

    codice:
    $query = "SELECT * FROM tabella WHERE campo ='condizione' ORDER BY RAND() LIMIT 1";
    $result = mysql_query($query) or die($query." -> ".mysql_error)); 
    $array = mysql_fetch_array($result);
    E' il cervello che ci rende folli o deliranti, che ci ispira terrori e paure, che, ci fa compiere errori sconsiderati, ci rende ansiosi senza scopo,ci rende inconsapevoli......

  4. #4
    eh.. ti stavo giusto per dire di usare oerder by rand... perchè temevo randomizzassi l'indice da php...



    nno so che dirti.. ho smepre fatto e visto fare così

  5. #5
    Utente di HTML.it L'avatar di JHammer
    Registrato dal
    Sep 2004
    Messaggi
    754
    Prova magari a generare il numero casuale in PHP poi a selezionare quel particolare ID con una query...
    Non conosco l'algoritmo usato da mysql per generare i numeri casuali...in php esiste il 'marsenne twister' che genera cicli di numeri casuali di lunghezza praticamente infinita (funzione mt_rand() se non erro).
    Evidentemente se la serie di ID ha dei 'buchi' è necessario effettuare l'operazione in due passi.

  6. #6
    mmm...quanti record ci stanno nella tabella?

  7. #7
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    La funziona RAND() di mysql fa abbastanza schifo.

    http://dev.mysql.com/doc/mysql/en/ma...functions.html

    RAND() is not meant to be a perfect random generator, but instead a fast way to generate ad hoc random numbers that will be portable between platforms for the same MySQL version.

  8. #8
    [supersaibal]Originariamente inviato da daniele_dll
    mmm...quanti record ci stanno nella tabella? [/supersaibal]

    180

    MA quello che non mi spiego è il suo "affezionarsi" ad un numero preciso....anche se funziona benissimo o no perche sempre quel diavolo di 30?
    E' il cervello che ci rende folli o deliranti, che ci ispira terrori e paure, che, ci fa compiere errori sconsiderati, ci rende ansiosi senza scopo,ci rende inconsapevoli......

  9. #9
    Utente di HTML.it L'avatar di JHammer
    Registrato dal
    Sep 2004
    Messaggi
    754
    Sarà il classico modM

    x[i+1]=(A*x[i]+C)%M

    a seconda del seme X[0] e dei parametri A,C,M può generare dei cicli molto corti (cioè serie che si ripetono).
    Il seme come viene scelto poi?

  10. #10
    [supersaibal]Originariamente inviato da JHammer
    Sarà il classico modM

    x[i+1]=(A*x[i]+C)%M

    a seconda del seme X[0] e dei parametri A,C,M può generare dei cicli molto corti (cioè serie che si ripetono).
    Il seme come viene scelto poi? [/supersaibal]

    Sorry ma non ti seguo affatto...
    E' il cervello che ci rende folli o deliranti, che ci ispira terrori e paure, che, ci fa compiere errori sconsiderati, ci rende ansiosi senza scopo,ci rende inconsapevoli......

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.