Mysql
 sql >> Database >  >> RDS >> Mysql

Assegna posti nella classifica (MySQL, PHP)

Sebbene Andrew G. Johnson abbia ragione, potrebbe non essere necessario nemmeno memorizzare queste informazioni nel database.

La risposta che ho per te è semplice:"Perché vuoi archiviare questo nel database?"

Se hai effettivamente una buona ragione, hai alcune scelte in base a quanto sono statici i dati. Se i dati vengono creati e inseriti tutti in una volta, allora ORDER BY rating_score DESC alla fine della tua dichiarazione dovrebbe farlo (se rating_place è assegnato automaticamente da 1).

Altrimenti, farei qualcosa in una pagina PHP dedicata che, una volta lette le tue 2 colonne, assegna rating_place. Se inserisci manualmente i dati nel tuo database, non dovrebbe essere dannoso dover aprire la pagina. Se la raccolta dei dati è automatizzata, vai avanti e lancia una chiamata alla "update_places_page" che aggiorna la valutazione.

Modifica:

Un'altra opzione consiste semplicemente nel creare una vista per rating_score che prenda i primi 20 e gli ordini li riordinano, quindi seleziona dalla nuova vista e dalla tabella effettiva in base a rating_score.