Version complète: sur le forum Webmaster Hub : Comment trier les resulats TRADUITS de mon tableau?
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
ralpflo
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 :

CODE
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 :
CODE
<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 :
CODE
.t("__".


Quelqu'un peux t'il me sauver????
Merci d'avance

Denis
iNCiTE Web
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...
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.