Ho capito il procedimento e se lo applico non mi dà più errore di sintassi... Però evidentemente c'è un errore di concetto nel mio codice, perchè non li ordina per data. Ci sono alcuni while internati, quindi è probabile che stia lì l'errore.
In pratica devo prendere una sola volta i docenti, estrarre la loro data più recente. Tra tutte le date estratte in questo modo, devo ordinarle in modo da visualizzare il docente più recente.
In uno schema semplificato, questo è il mio codice:
Codice PHP:
//Estraggo i docenti, raggruppandoli in modo che non si ripetano, e li ordino per data
//Il limite serve per suddividere i record in più pagine nella visualizzazione, ma non influisce
$query_limit = mysql_query("SELECT * FROM Accesso_voti GROUP BY Docente_cognome, Docente_nome ORDER BY Data_accesso LIMIT $primo, $per_page");
while($row=mysql_fetch_assoc($query_limit)){
//estraggo nome e cognome
//Cerca tutte le occorrenze del docente e prende la sua data più recente
$q4 = "SELECT * FROM Accesso_voti WHERE Docente_cognome='$cognome' AND Docente_nome='$nome' ORDER BY Data_accesso desc limit 1";
//estraggo la data