Je ne maitrisse pas bien la fonction 'mysql_fecth_object' (j'utilise mysql_fetch_row), mais si dans ta base au moins deux champs 'nomFR' et 'page'.
Et que 'page' est égal à une page web (si elle existe) et à vide '' sinon, tu peux remplacer ton test:
if ($res->valid==YES){...
par
if ($res->page != '')( ...
Sinon, ta boucle me parait tout à fait correcte pour récuperer tous les enregistrements de ta base.
Par contre, Tittom a raison sur le fait que si tu dois reproduire 26 fois ton code (pour chaque lettre) c'est du délire.
Tu dois encapsuler au minimum dans une boucle:
$Lettres = array ('A','B','C',...,'Z');
foreach ($Lettres as $initiale)
{
$result = mysql_query ("SELECT * FROM rapaces WHERE nomFR LIKE '". $initaile ."%' ORDER BY nomFR");
...
}
Maintenant, le code de Tittom a l'avantage de ne faire qu'une seule requête 'SELECT', alors que dans ce cas, tu fais 26 requête à la base.
-= Bobinours =-