Hai inoltre un errore formale nel ORDER BY date. usando lo stesso nome del campo come alias questo verra' sovrascritto con il risultato di date_format e l'ordinamento avverra' su giorno-mese-anno.... senza un apparente senso logico. Cambia il nome dell'aliascodice:SELECT *, DATE_FORMAT(date,'%d/%m/%Y') as date FROM ashnews_news WHERE catid IN (4,7,10,13,16,19) AND (selected = '1') ORDER BY date ASC LIMIT 0,3
ps... ma perche' metti tutte quelle chiusure "." nella query?