Aller au contenu

Comment trier les resulats TRADUITS de mon tableau?


Sujets conseillés

Posté (modifié)

Bonjour,

Le script que j'utilise permet d'afficher une liste de noms de pays qu'il va chercher dans la base SQL dans la table 'countries' et colonne 'country'. Les pays sont listés dans la table en anglais.

Selon la langue choisie par l'internaute le nom des pays est traduit dans cette langue.

Mon probleme est qu'il fait le tri alphabetique grace a Order By'country' ASC donc qu'il fait le tri par rapport aux noms en anglais quel que soit la langue choisie ce qui fait que l'ordre alphabetique n'est pas respecté en français par exemple.

Y'a t'il une solution pour qu'il fasse le tri alphabetique en fonction des resultats affichés??

Je vous mets 2 extraits de codes :

Le premier sert donc a aller chercher les informations dans la base :

function getZipCodeCountry() {
$aCountryList = array();
$aCountries = ( $sCoutry = db_value( 'SELECT value FROM `search_settings` WHERE name = "countries"' ) ) ? explode( ';', $sCoutry ) : array( 0 );
$rCountryList = db_res( 'SELECT `ISO2`, `Country` FROM `Countries` WHERE `ISO2` IN ("'. implode( '","', $aCountries ) .'") ORDER BY `Country` ASC' );
while( $aCountry = mysql_fetch_array( $rCountryList ) )
$aCountryList[$aCountry['ISO2']] = $aCountry['Country'];
return $aCountryList;
}

Le 2ème sert a affciher le resultat sur ma page :

<select name="country" id="country">
<?
echo '<option value="">'. _t('All') .'</option>';
foreach( $aCountryList as $ISO => $Country )
echo '<option value="'. $ISO .'" >'._t("__". $Country ) .'</option>';
?>
</select>

La traduction se fait grâce a :

.t("__".

Quelqu'un peux t'il me sauver????

Merci d'avance

Denis

Modifié par Patrick
Merci d'utiliser la balise [code] pour y placer ton code source et non pas la balise [color]
Posté

Il faudrait que au moment où tu mets en tableau les résultats, tu ajoutes une colonne contenant la traduction, puis un tri sur cette colonne avant le foreach() qui fait l'affichage...

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...