Aller au contenu

Donner des valeurs à un champ par bouton


calou80

Sujets conseillés

Bonjour, débutant en php et mysql je cherche un petit renseignement: comment passer 4 valeurs possibles à un champ avec 4 boutons ( du type de ceux que l'on trouve dans les formulaires ). Je m'explique: je voudrais pouvoir passer 4 valeurs possibles ( 0, 1, 2 ou 3 ) à un champ ( de type ENUM ? ) selon si on appuie sur le bouton 1, le bouton 2 ... En fait, si j'appuie sur le bouton 1 le champ prendra la valeur 1, si j'appuie sur le bouton 2 le champ prendra la valeur 2 etc etc ... Ai-je été clair ? Merci d'avance.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Tu peux utiliser ce code et l'adapter à ton besoin:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Champ modifiable par des boutons</title>
</head>

<body>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">

<p>
<label for="champ_modifiable">Champ modifiable par des boutons:</label><br />
<input type="text" size="50" name="champ_modifiable" id="champ_modifiable" value="<?php
if (isset($_POST["bouton1"])) {
 echo "valeur 1";
}
elseif (isset($_POST["bouton2"])) {
 echo "valeur 2";
}
elseif (isset($_POST["bouton3"])) {
 echo "valeur 3";
}
elseif (isset($_POST["bouton4"])) {
 echo "valeur 4";
}
?>" />
</p>

<p>
<input type="submit" name="bouton1" value="Bouton 1" />
<input type="submit" name="bouton2" value="Bouton 2" />
<input type="submit" name="bouton3" value="Bouton 3" />
<input type="submit" name="bouton4" value="Bouton 4" />
</p>
</form>
</body>

</html>

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Le code de jan devrait te convenir, cependant ce que tu veux faire ne correspond pas à ce qu'attend un utilisateur.

Pour faire un choix (et un seul) parmi une liste de choix, on utilise habituellement le bouton 'radio'. Par exemple, pour choisir la civilité (homme ou femme), ce sont des 'boutons radio', et non des boutons 'submit'.

Pour utiliser un bouton radio, c'est le code suivant :

<input type=radio name=choix value=1>

<input type=radio name=choix value=2>

etc..

Lien vers le commentaire
Partager sur d’autres sites

Mille excuses à vous j'ai du mal m'exprimer.

En fait quand je parle de champ, il s'agit d'un champ de base de données. Le principe du code que vous m'avez donné est bon mais il "faudrait juste" que quand on clique sur l'un des 4 boutons, la valeur correspondante au bouton cliqué s'inscrive dans un champ de base de données. J'ai pensé à un champ de type ENUM("0","1","2","3").

Encore mille excuses mais comme je suis un très grand débutant je n'utilise peut-être pas encore le bon vocabulaire... mais j'y travaille. Pour le php j'utilise phpedit v0.6 et easyphp, ai-je fait le bon choix ? Pour phpedit il me semble qu'il faut enregistrer à chaque fois en indiquant bien l'extension .php est-ce normal ?

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Pour un champ enum la requête sql qui va avec n'est pas plus difficile.

Le code de Jan me parait bizarre ... ça défie un peu la logique du html mais je l'ai testé et ça marche ... :blink:

Bon bref, en se servant de son code, tu peux facilement faire une requête sql qui remplirait ce champs enum:

$valeur = "";
if (isset($_POST["bouton1"])) {
$valeur = 0;
}
elseif (isset($_POST["bouton2"])) {
$valeur = 1;
}
elseif (isset($_POST["bouton3"])) {
$valeur = 2;
}
elseif (isset($_POST["bouton4"])) {
$valeur = 3;
}
mysql_query("INSERT INTO ta_table (champ_enum) VALUES ( '$valeur')");

Pour phpedit, je ne connais, personnelement, j'utilise notepad++ tout en sachant que ce n'est pas le meilleur (poil dans la main).

Easyphp, étant donné que c'est juste un serveur web php/mysql préinstallé, on ne peut pas dire qu'il soit bon ou mauvais, il satisfait très bien le rôle pour lequel il a été conçu c'est tout :)

Lien vers le commentaire
Partager sur d’autres sites

Le code de Jan me parait bizarre ... ça défie un peu la logique du html mais je l'ai testé et ça marche ...  :blink:

Pas impossible ça :lol: Pour info, qu'est-ce qui te choque?

Lien vers le commentaire
Partager sur d’autres sites

Ok Boo2MOrsO mais je mets ça où exactement dans le code de Jan ? Je suppose également que dans la dernière ligne de ton code ta_table doit être remplacée par le nom de ma table et champ_enum alors par le nom de mon champs ? Mais aussi, quand on essaie de remplir une table ne faut-il pas également un petit fichier qui permet de se connecter à la base de données et qu'on appelle dans le formulaire de saisie ? Mille excuses pour toutes ces précisions mais je suis un grand débutant !

Lien vers le commentaire
Partager sur d’autres sites

Pas impossible ça :lol: Pour info, qu'est-ce qui te choque?

<{POST_SNAPBACK}>

En fait quand je vois ça:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Champ modifiable par des boutons</title>
</head>

<body>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
<p>
<?php

mysql_connect('localhost', 'user', 'pass') or die( "Connection impossible");
mysql_select_db('basededonnee') or die('Impossible de choisir la base de donnée');

if (isset($_POST["bouton1"])) {
$valeur = 0;
}
elseif (isset($_POST["bouton2"])) {
$valeur = 1;
}
elseif (isset($_POST["bouton3"])) {
$valeur = 2;
}
elseif (isset($_POST["bouton4"])) {
$valeur = 3;
}

if( isset( $valeur ))
{
mysql_query("INSERT INTO ta_table (champ_enum) VALUES ( '$valeur')");
echo "Le bouton n°" . ($valeur +1) . " a été pris en compte dans la base de donnée";
}

?>
</p>

<p>
<input type="submit" name="bouton1" value="Bouton 1" />
<input type="submit" name="bouton2" value="Bouton 2" />
<input type="submit" name="bouton3" value="Bouton 3" />
<input type="submit" name="bouton4" value="Bouton 4" />
</p>
</form>
</body>

</html>

EDIT: à remplacer aussi les 'localhost', 'user' , 'pass' et 'basededonne'. Certaines fois il est d'ailleur pratique de stocker ces données dans un fichier séparé que l'on inclus dans chaque page. On peut aussi carément inclure un fichier qui contient ces deux commandes.

Modifié par Boo2M0rs0
Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...