8710 sujets

Développement web côté serveur, CMS

Salut à tous,

J'aurais besoin de votre aide car je souhaiterais afficher un "articles définis (le la les l') en fonction de la première lettre d'une variable (département). J'avais commencé à le faire département par département mais c'est un peu long Smiley decu

En gros, ce que je souhaite faire, c'est écrire une règle qui dit que les mots commençant par la lettre "A" par exemple seront précédée de "l'" et non pas d'être obligé d'écrire les départements un par un...
(En passant en revue les mots commençant par une voyelle, j'aurais quasiment résolu mon problème)

Voilà ce que j'ai commencé à faire :

...
    while ($donnees = $req->fetch()) {
    if ($donnees['dpt'] =="Allier" or $donnees['dpt'] =="Ain")
        $error_profil = "l'";
	       else 
      {
           $error_profil = 'le ';
       }


Merci d'avance Smiley smile
@plus
Zed1
Bonjour,

Au lieu de tester les départements commençant par A l'un après l'autre, je testerais si le nom du département commence par un A, et puis j'ajouterais l'article qui va bien.

N.B: pour récupérer la 1ère lettre du département : $first_letter = $donnees['dpt']{0};
bonsoir

çà marchera pas avec un test aussi simple que la premiere lettre, par exemple avec A tu peux avoir L'Ardeche ou LES Alpes Maritimes, il sera plus simple d'avoir un tableau de correspondance ou une table en base de données pour relier le nom court au nom complet d'un département, d'ailleurs en cherchant bien çà doit déjà exister.
salut,
ça ne sera pas aussi simple vu qu'il y aura pas mal d'exceptions. Tu pourrais passer par les expressions régulières genre

while ($donnees = $req->fetch()) {
	$a =  explode(" ", $donnees);
	$a[0] = preg_replace("/^([aeiouy].+[^s])$/i", "L'$1", $a[0]);
	$a[0] = preg_replace("/(.+s)$/i", "Les $1", $a[0]);
	$donnees = implode(" ", $a);
}

mais il faudrait aussi ajouter l'Hérault et puis pour savoir si c'est "le" ou "la" c'est encore une autre histoire.
Merci les gars !
Et effectivement, il y a bien plus d’exceptions que je ne le pensais. Il y a avait certainement plus concis mais du coup, je l'ai fait "manuellement".

Ma modeste contribution à l'humanité (web) Smiley cligne et pour ceux que cela intéressent, tous les départements sont pris en compte :

    if ($donnees['dpt'] =="Allier" or $donnees['dpt'] =="Ain" or $donnees['dpt'] =="Aisne" or $donnees['dpt'] =="Aube" or $donnees['dpt'] =="Aude" or $donnees['dpt'] =="Eure" or $donnees['dpt'] =="Eure-et-Loir" or $donnees['dpt'] =="Hérault" or $donnees['dpt'] =="Indre"
	 or $donnees['dpt'] =="Indre-et-Loire" or $donnees['dpt'] =="Oise" or $donnees['dpt'] =="Orne" or $donnees['dpt'] =="Yonne")
    $error_profil = "dans l'";
	else 
    {
    $error_profil = 'dans le ';
    }
    if ($donnees['dpt'] =="Landes" or $donnees['dpt'] =="Alpes-de-Haute-Provence" or $donnees['dpt'] =="Alpes-Maritimes" or $donnees['dpt'] =="Ardennes" or $donnees['dpt'] =="Bouches-du-Rhône"
	 or $donnees['dpt'] =="Côtes-d'Armor" or $donnees['dpt'] =="Côte-d'Or" or $donnees['dpt'] =="Deux-Sèvres" or $donnees['dpt'] =="Dom-Tom" or $donnees['dpt'] =="Hautes-Alpes" 
	 or $donnees['dpt'] =="Hautes-Pyrénées" or $donnees['dpt'] =="Hauts-de-Seine" or $donnees['dpt'] =="Pyrénées-Atlantiques" or $donnees['dpt'] =="Pyrénées-Orientales" or $donnees['dpt'] =="Vosges" 
	 or $donnees['dpt'] =="Yvelines")
    $error_profil = "dans les ";
    if ($donnees['dpt'] =="Ardèche" or $donnees['dpt'] =="Ariège" or $donnees['dpt'] =="Aveyron" or $donnees['dpt'] =="Essonne"
	or $donnees['dpt'] =="Côte-d'Or" or $donnees['dpt'] =="Charente" or $donnees['dpt'] =="Charente-Maritime" or $donnees['dpt'] =="Corrèze" or $donnees['dpt'] =="Corse" or $donnees['dpt'] =="Dordogne" 
	or $donnees['dpt'] =="Gironde" or $donnees['dpt'] =="Haute-Garonne" or $donnees['dpt'] =="Haute-Loire" or $donnees['dpt'] =="Haute-Marne" or $donnees['dpt'] =="Haute-Saône" or $donnees['dpt'] =="Haute-Savoie" 
	or $donnees['dpt'] =="Haute-Vienne" or $donnees['dpt'] =="Ille-et-Vilaine" or $donnees['dpt'] =="Isère" or $donnees['dpt'] =="Lozère" or $donnees['dpt'] =="Meurthe-et-Moselle" or $donnees['dpt'] =="Moselle" 
	or $donnees['dpt'] =="Saône-et-Loire" or $donnees['dpt'] =="Savoie" or $donnees['dpt'] =="Seine-et-Marne" or $donnees['dpt'] =="Seine-Maritime" or $donnees['dpt'] =="Seine-Saint-Denis" or $donnees['dpt'] =="Vendée")
    $error_profil = "en ";
    if ($donnees['dpt'] =="Creuse" or $donnees['dpt'] =="Drôme" or $donnees['dpt'] =="Loire" or $donnees['dpt'] =="Loire-Atlantique" or $donnees['dpt'] =="Manche" or $donnees['dpt'] =="Marne" or $donnees['dpt'] =="Mayenne"
	or $donnees['dpt'] =="Meuse" or $donnees['dpt'] =="Nièvres" or $donnees['dpt'] =="Sarthe" or $donnees['dpt'] =="Somme" or $donnees['dpt'] =="Vienne")
    $error_profil = "dans la ";
    if ($donnees['dpt'] =="Paris")
    $error_profil = "dans ";