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

    shuffle(array) su mysql_fetch_array

    devo estrarre tutti i record di una tabella in modo casuale, ed evitare i doppioni: mi sono già ampiamente documentato sul forum e vorrei utilizzare la funzione shuffle degli array.

    Potreste spiegarmi come applicarla a mysql_fetch_array e poi estrarre i dati mescolati con un ciclo while??

    sto provando ma nei miei test o entro in un ciclo infinito e blocco il browser (senza peraltro riuscire ad estrarre i record) o ricevo questo warning:
    Warning: shuffle() expects parameter 1 to be array, boolean given in

  2. #2
    usa ORDER BY RAND()

    oppure scarica tutto il result set in un array a cui applicherai il shuffle

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    usare ORDER BY RAND sarebbe la soluzione più veloce ma mi sembra di aver capito che c'è il rischio di estrarre dei doppioni.

    nel secondo metodo da te proposto, dovrei fare due cicli?? uno per scaricare tutto il result set nell'array a cui applico lo shuffle, l'altro ciclo per estrarre dall'array e stampare i risultati.

    giusto??

  4. #4
    Originariamente inviato da buribus
    usare ORDER BY RAND sarebbe la soluzione più veloce ma mi sembra di aver capito che c'è il rischio di estrarre dei doppioni.

    nel secondo metodo da te proposto, dovrei fare due cicli?? uno per scaricare tutto il result set nell'array a cui applico lo shuffle, l'altro ciclo per estrarre dall'array e stampare i risultati.

    giusto??
    order by rand non estrae doppioni. Viene applicato sul result set.

    per il secondo metodo scarichi il result set in un array, applichi il shuffle e poi lo stampi con un altro ciclo di foreach o while

    occhio che mysql_fetch array ti rende sia un indice associativo sia un indice numerico. quindi il result set e' doppio.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.