Tableau

Répondre
Peacock
le 21/09/2004 à 20:12
Peacock
Salut à tous,

Question qui sent le putain-trop-de-base-la-question, mais je la pose, elle servira j'en suis sur
à quelqu'un...

Pour exemple, j'ai une table contenant dans un champs enum des noms de fruits, renseignée en français, pour la version anglaise je souhaite lors de l'affichage faire correspondre, le nom anglais, avec switch comme ci-dessous, ça marche très bien, mais je sens que pour éviter un switch énorme (ex : 200 fruits) il me faudrait passer par un tableau...
<?php
$resultat=mySql_db_query($base, $requete, $id_lien);
while($ligne=mysql_fetch_array($resultat))

{ echo "<SPAN class='noir10'>";

switch ($ligne[Fruit]) { case $ligne[Fruit]="mure" :
echo ("blackberry");
break;
case $ligne[Fruit]="citron" :
echo ("lemon");
break;
case $ligne[Fruit]="pomme" :
echo ("apple");
break; case $ligne[Fruit]="fraise" :
echo ("strawberry");
break;
}
php?>



Ma question est : quelqu'un pourrait -il m'aiguiller pour pour faire ce tableau ?
Merci à vous,
Peacock
moogli
le 21/09/2004 à 20:36
moogli
salut,

tu peut fait deux tableaux

exemple :
<?php
$francais= array('citron','pomme','fraise');
$anglais=array(''lemon',"apple','strawberry');
<img src="https://static.lephpfacile.com/img/smiley/alert.gif" alt="smiley" class="smiley" /> l'ordre dans le quel tu rentre tes fruit a une importance.
pour avoir la correspondance tu fait
exemple
[code]
<?php
echo 'En français on dit : '.$francais[0].'', en anglais on dit : '.$anglais[0];
?>
[/code]
ce qui te donne
En français on dit citron, en anglais on dit lemon.

Le problème est que si tu as 200 fruits to tableau va être énorme (donc a crée par le script très long) et en plus a modifier c'est galère (imagine que tu veut virer le 101 ème fruit, il faut que tu trouve sont copain dans la 2nd table .....);

Je pense que le plus simple serait de te faire une table dans la quel tu met la corespondance (plus simple a maintenir et a modifier + rapide).
exemple :
la table :
id | francais | anglais
dans ta première table tu l'id du fruit qui t'intéresse pour l'affichage tu fait une jointure pour selectionnner les nom anglais et français.

La seconde solution me prait plus simple que le taleau mais c'est a toi de voir @+
Il en faut peu pour être heureux !!!!!
Peacock
le 21/09/2004 à 22:27
Peacock
Le but est de ne pas rentrer le tout dans la base, dans le côté admin les gens connaissent le français sûr, mais pas spécialement l'anglais, donc comme dans l'exemple donné avec switch, je voudrais, via un tableau, faire les correspondances...

Y a pas une histoire style :
<?php$tableau=array(''citron" => "lemon", pomme =>"apple", "fraise" => "strawberry");php?>
moogli
le 21/09/2004 à 22:34
moogli
tien tuas une solution, as tu tester? si oui tu as tu te rendre compte que sa doit fonctionner.

Moi ce que je disait c'est simplement que plus tu vas avoir de fruit plus ton tableau sera gros et plus cela prendra de temps a créer (certe tout est relatif).

Ta solution est bonne la mienne n'était que mon opinion tu peut regarder sa array

@+
Il en faut peu pour être heureux !!!!!
Peacock
le 21/09/2004 à 23:17
Peacock
Là, je cale, conscient que la solution
facile est là dans ce tableau...
Mais bon j'ai le cerveau qui grésille,
si tel un père noël de quand j'étais petit,
l'un de vous, dépose la bonne syntaxe
sous ce message-sapin,
je serai, demain matin, content
comme un petit gars en pyjama
un 25 Déc au pied du sapin
familial... smiley
moogli
le 21/09/2004 à 23:56
moogli
ben tu vient de donner la solution l'est ton souci ?

<?php 
$tableau=array("citron" => "lemon", "pomme" =>"apple", "fraise" => "strawberry");
//avec ton code
$resultat=mySql_db_query($base, $requete, $id_lien);
while($ligne=mysql_fetch_array($resultat))

{ echo "<SPAN class='noir10'>".$tableau[$ligne['fruit']];
}
?>

j'ai corrigé 2, 3 oublie dans ton code mais ce que je t'est donnée doit fonctionner. pour le tester tu peut créer un fichier test.php dans le quel tu met sa
<?php                                                                                                         
$tableau=array("citron" => "lemon", "pomme" =>"apple", "fraise" => "strawberry");
//avec ton code
$ligne['fruit']="citron";
echo 'valeur de $ligne[\'fruit\'] => '.$ligne['fruit'].'<=> Valeur de $tableau =>'.$tableau[$ligne['fruit']];
//doit afficher lemon
?>

Mise a part la requete et l'affichage le principe est le même que le tiens.....
@+
Il en faut peu pour être heureux !!!!!
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours