random non tanto random

Ciao Gianni, volevo chiederti se conoscevi un modo per evitare di mostrare id già scelti usando rand, mi spiego meglio, in una query, dove i record sono presi in modo casuale da una tabella "evidenze" ogni record dovrebbe avere la stessa probabilità degli altri di comparire, per questo dovrei evitare che il rand mi restituisca due volte lo stesso id del record nella stessa richiesta.

Qualche consiglio?

La query, che non ho scritto io a parte alcune sistemazioni, è questa:

SELECT p.*,t.name AS typeName FROM pmr_properties AS p 
JOIN pmr_types AS t ON t.id=p.type 
WHERE approved=1 AND featured="A" ORDER BY RAND() LIMIT 5

 :bye:

inviato 8 anni fa
Andrea Turso
Andrea Turso
86
modificato 8 anni fa
X 0 X

non mi è chiaro se stai cercando di non far visualizzare più i record precedentemente estratti

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

esatto, vorrei evitare di estrarre piu volte i record con un id già ottenuto con rand.

quindi no record duplicati

risposto 8 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

allora il procedimento è più complicato... recupera con una query tutti gli id e mettili in sessione, poi realizza una funzione PHP che ne preleva casualmente alcuni e li toglie dalla sessione. Con questi id prepari la SELECT per mostrare i dati relativi. Ad ogni visualizzazione verranno presi quindi degli ID diversi.

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda