Bonsoir !

Me tout premier poste :)

Donc j'ai suivit pas mal de tuto de Mr le ratton laveur ( ;) ) Mais je n'est pas vraiment trouvé ce dont je cherché même si certain de ses tuto mon beaucoup aider :)

Donc je m'explique;
J'ai créer un espace membre, j'ai un champ " pays " que j'avais souhaiter mettre en menu déroulant et en php Mysql et j'ai réussis ! ( c'était mon défi d'aujourd'hui ^^ )
Le HICK c'est que j'aimerai que dans le profil du membre, il puisse y avoir une image qui s'affiche et non un texte.

J'ai pensé à créer un fichier " flag.php " ou il aura toute les " define " dedans pour chaque pays... non ?

Car dans ma base de donné, j'ai une table " PAYS " avec deux champs " ID " et " PAYS " J'aimerai reprendre l'id et ensuite lui atribuer une image... Mais je ne sais pas comment faire =S

Je vous met un petit bout de code de mon menu déroulant:

<?php
$dnn = mysql_query('SELECT id,pays FROM pays');
echo '<select name="pays">';
while($info_pays = mysql_fetch_array($dnn))
{ echo '<option value="'.$info_pays'pays'].'"> '.$info_pays'pays'].'</option>';
}
echo '</select>';
?>

5 réponses


Tu prends (recupere) le nom de ton pays ex: (france belgique russie allemagne ...) et tu sauvegardes tes images de cet façon france.jpg belgique.jpg etc...
et tu "echo"

echo "<img src='../pays/".$info_pays'pays'].".jpg' alt='ton pays' />"

P.S. ou tu utiles tes ID comme tu le souhaite id_X = belgique.jpg ou encore id.jpg (beaucoup de methode possible).

didouchy
Auteur

Ha oui !

Bon j'vais creusé sa :)

didouchy
Auteur

Je pensé y arrivé mais je ne trouve pas réellement à la construction du code =S

Un peu d'aide de ma part alors.

Je représente d'abord l'architecture du dossier www/
Donc un dossier images/ et dedans des sous dossiers dont un nommer pays/ dedans tu listes tes pays (ceux que tu utilises)
ex: belgique.jpg
usa.jpg
russie.jpg

Dans ta BDD tu stockes de cet manières (c'est un exemple parmis tant d'autre).
champs pays: belgique
usa
russie

Tu créer une fonction qui récupérer la liste des pays. (avec une requête assez classique)

$requeteRecupPays = "SELECT pays FROM listePays";

Alors il faut savoir que si tes pays ne change rarement mais qu'il sont beaucoup appeler, il peut être utilise de travailler avec des fichiers .txt et éventuellement stocker pour le cas de tes visiteurs (abonné) leur
langue préférer.

Tu stocks le résultat dans un tableau (sa parait logique).
Donc

$tabPays = array(); //ton tableau qui contient la liste des pays que tu as recup

Je ne suis pas sur mais je pense que la balise

<select></select>

à des problème sous IE (si quelqu'un peut me confirmer) pour intégrer une structure de type

<option>
        <img .. />
    </option>

Donc on va bosser avec des liste (

<li></li>

).
Bien sur avec une fonction:

function creationListePays($tabPays){
    foreach($tabPays as $value){
        //donc on créer un li on ajoute la balise img et on concatène le pays avec .jpg qu'on ajoute dans le src pour renseigner le chemin
        echo '<li><img src="images/pays/'.$value.'.jpg" alt="" class="pays"/></li>';
    }
}

Bon à toi de jouer. bon travail.

didouchy
Auteur

Haaa !!! j'y voit plus claire ! :D Merci

Pour info, les balise <select> & </select> fonctionne à merveille sous IE :) ( IE8, firefox, safari et chrome :) )