Je bloque sur mon code PHP... Merci!

Fermé
Eric - Modifié par Eric le 30/05/2012 à 04:13
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 - 30 mai 2012 à 22:54
Bonjour,

Je bloque sur mon code... J'ai beau chercher sur le web, mais je ne trouve pas.

Je souhaite faire un sélecteur de devise sur mon site web.

Un "dropdown" avec : cad, eur, usd, etc.

Donc, si CAD est sélectionner, la variable $dev1 est = à X$.

Je souhaite faire en sorte que les devises changent, sans avoir à "envoyer" le formulaire (contenant seulement le select box).

Voici mon petit code, pourtant simple, mais il me manque, comment faire pour envoyer les données du selectbox sans appuyer sur un bouton "envoyer".

<?php

if ($_POST['devise'] == "eur"){
$dev1 = "1eur";
} else {
$dev1 = "3,25$";
}

?>

<SELECT name="devise">
<OPTION VALUE="cad">CAD</OPTION>
<OPTION VALUE="eur">EUR</OPTION>
</SELECT>

<?php echo $dev1 ?>

Si quelqu'un pourrait m'aider, merci beaucoup!

A voir également:

8 réponses

Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
30 mai 2012 à 08:45
Salut,
Si tu veux quelque chose en "temps réel" sans aucune action sur un bouton il te faut alors passer du côté de Javascript (Jquery).
Avec notamment la fonction :
https://api.jquery.com/click/
Exemple :
$(document).ready(function(){	
$("#cad").click(function() {
  alert('tu as séléctionné CAD');
});
});

et ton code html serait :
<SELECT name="devise">
<OPTION id="cad" VALUE="cad">CAD</OPTION>
<OPTION id="eur" VALUE="eur">EUR</OPTION>
</SELECT> 

A améliorer c'est sur mais juste voir si je suis sur la bonne piste ;) on appronfondira
0
mpmp93 Messages postés 6648 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
Modifié par mpmp93 le 30/05/2012 à 09:15
Bonjour,

Une solution sans votre IF. On utilise un tableau (array) associant clé-valeur comme ceci:

<?php 
$listeDevises = array( 
    '1eur' => 'EUR', 
    '3,25$' => 'CAD', 
); 
?> 
<form method="POST" action="exemple6.php"/> 
    <select name="devise"> 
    <?php foreach($listeDevises AS $value => $option): ?> 
        <option value="<?php echo $value; ?>"><?php echo $option; ?></option> 
    <?php endforeach; ?> 
    </select> 
    <input type="submit" value="OK"/> 
</form> 
<?php echo $_POST['devise']; ?> 


PS: j'ai appelé ce script exemple6.php

A+
un +1 sur mes commentaires - si vous avez apprécié - c'est gentil, merci.
0
Merci à vous deux,

J'aime bien vos deux proposition.

@Melooo : Je n'arrive pas à intégrer le jquery, je ne comprend pas trop comment cela fonctionne même avec la doc sur le site.

@mpmp93 : Ça marche super, je pourrais me contacter de quelque chose comme cela. Sauf que, exemple, si "CAD" est sélectionné, plusieurs valeurs doivent changer.

Merci
0
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
Modifié par JooS le 30/05/2012 à 21:57
Salut !
Ben t'as besoin que ton forumulaire soit envoyé automatiquement a partir de ton PC, et qui dit execution sur PC, dit javascript !
Tu peux utiliser la solution de Melooo, en intégrant la biblio de jQuery !
Sinon !

<?php 
$devises = array( 
   'euro'=>'1€', 
   'usd'=>'3,25$' 
  ); 
?> 

<script> 
function recharger(value) { 
 window.location.replace(window.location.pathname+'?dev='+value); 
} 
</script> 

<form method="get" action="#"> 
 <select name="dev" onchange="recharger(this.value);"> 
  <?php 
   foreach($devises AS $id => $value) { 
    if($id == $_GET['dev']) echo '<option value="'.$id.'" selected>'.$value.'</option>'; 
    else echo '<option value="'.$id.'">'.$value.'</option>'; 
   } 
  ?> 
 </select> 
<form>

Mettez en résolu quand c'est résolu -.- ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Super ça, on est dans la bonne direction.

Je souhaite avoir plusieurs prix sur mon site, donc plusieurs echo :

<?php echo $dev1; ?>
<?php echo $dev2; ?>

Les prix changent selon la devise choisi.

Merci ;)
0
On peu faire le même code, mais avec des conditions?

Si CAD est sélectionné, $dev1 = 3$, $dev2 = 5$...

Si EUR est sélectionné, $dev1 = 3E, $dev2 = 5E...

Parce que j'aimerais inclure un cookie dans ma condition ou une session pour enregistrer la devise choisi.
0
Bon, au cas ou ça intéresserait quelqu'un, j'en suis arrivé à quelque chose de bien.

<?php

$devises = $_POST['devise'];

if ($devises == "eur"){
$dev1 = "2 E";
$dev2 = "3 E";
} else {
$dev1 = "3,25$";
$dev2 = "4,25$";
}

?>


<form method="post" action="#">
<select name="devise">
<option value="cad">CAD</option>
<option value="eur">EUR</option>
</select>
<input name="submit" type="submit" value="OK" />
<form>
<br /><br />
<?php echo $dev1; ?>
<br /><br />
<?php echo $dev2; ?>

Il va seulement me manquer de faire l'envoie automatique.
0
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
30 mai 2012 à 22:54
Hmmm, j'ai pas vraiment saisi ce que tu cherche a faire !
0
J'ai réussis avec :

onchange='submit()'

Merci à vous tous.
0