SELECT LEFT(field, 40) AS excerpt FROM table(s) WHERE ...
Vedi LEFT()
funzione.
Come regola pratica , non dovresti mai fare in PHP ciò che MySQL può fare per te. Pensala in questo modo:non vuoi trasmettere nulla di più di quanto strettamente necessario dal DB alle applicazioni richiedenti.
MODIFICA Se utilizzerai tutti i dati sulla stessa pagina (cioè, senza richiesta intermedia) il più delle volte, non c'è motivo non per recuperare il testo completo in una volta. (Vedi commenti e Risposta di Veger .)