Je bloque sur un bidule fort simple, mais je pense que j'ai passé trop de temps car je n'y vois plus clair.
Voilà, sur une requête fort simplette, sur une table qui contient le nombre de
Structure de la table:
--------------------------
id | Country |
-----------------------------
abc | France |
abd | Canada |
cba | Canada |
cab | France |
ebc | Belgique |
je souhaite ne retenir que les pays ayant 30 occurences ou plus dans la Table. J'aurais pu lister tous les pays et effectuer une requête pour chacun pour savoir s'il y en plus de 29 dans chacun, mais c'est un processus qui serait fastidieux pour le visiteur, car sur les 103 pays dans la BDD il n'y en que 7 qui respectent cette condition. Alors, comment optimiser cette requête?
<?php
$result = mysql_query ("SELECT Country, COUNT(Country) AS nb FROM data GROUP BY Country " );
// Nombre de pays au total BDD (affiche 103)
$nbpays = mysql_num_rows($result);
// C'EST LÀ OU JE BLOQUE !!! Boucle pour récuperer les pays qui ont 30 occurences ou plus dans la BDD
// for ($i = 0; $i < $nbpays; $i++)
// {
while ($show_Ctry=mysql_fetch_array($result))
{
echo ' <select name="Country" size="1" > ';
echo "<option value=\"".$show_Ctry['Country']."\">".$show_Ctry['Country']."</option>";
}
echo '</select>';
}
mysql_close();
?>
Merci à l'avance, et désolé pour le charabia d'en haut.