@ceccus said:
Ciao jAmes.87,
$tot=substr_count($stringa, $parola);
Quello che ti posso consigliare è di fare una query semplice e sfruttare poi php per contare ed ordinare...
Ciao ceccus... 
Fare in questo modo è di sicuro più semplice e sbrigativo per chi programma.
Inoltre questo metodo è buono se ogni volta si vogliono mostrare tutti i record senza la paginazione dei risultati.
Invece, se si vogliono dividere in pagine i risultati, dove nella prima pagina ci sono i record che contengono + stringhe, il caricamento e la stampa dei risultati risulterebbero molto più lenti di una procedura eseguita da mysql.
Motivo
Ogni volta si dovrebbe:
- recuperare TUTTI i record
- leggerli TUTTI con php per trovare quante stringhe contengono i campi
- ordinarli TUTTI per numero di stringhe trovate
- BUTTARE VIA tutti gli altri record che non fanno parte del range delle pagine che si vogliono vedere.
Come ho risolto
Non è che ho risolto... mi sono adeguato alla situazione.:bho:
Cioè, con mysql metto prima i record in cui le stringhe cercate sono state trovate sia nel titolo e nel contenuto, poi i record in cui le stringhe sono state trovate nel titolo e i record in cui le stringhe sono state trovate nel contenuto.
Nota: questo ordinamento è possibile farlo utilizzando gli indici FULLTEXT che ti permettono di calcolare la "rilevanza" dei record in cui sono state trovate le stringhe. Quindi si ordina per "Rilevanza_Titolo DESC, Rilevanza_Contenuto DESC".
Per chi non predente troppo, credo che sia sufficiente... 