Changer la valeur d'un champs à partir d'un choix multiple
abdoulayecoumba
-
jordane45 Messages postés 40050 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 40050 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour je cherche quelqu'un pour m'aider à résoudre
J'ai créé une table avec les champs suivants : '' nomfruit'', ''saison'' , ''prix''
J'ai créé ensuite un formulaire avec un seul champ intitulé ''fruit'' qui affiche une liste déroulante des noms des fruits contenus dans la collonne ''nomfruit'' de ma table .
Je voudrais maintenant pouvoir faire deux choses à la fois :
1-afficher le prix d'un fruit quelconque en choisissant son nom sur la liste déroulante, jusque là j'ai pas de problème
2- ensuite Augmenter au prix du fruit un montant quelconque que je vais saisir via un autre formulaire, puis afficher le nouveau prix. C'est au niveau de cette deuxième étape ou ca se corse pour moi
Est ce possible que je puisse y parvenir uniquement avec le php,
voici mon code
Voici les deux messages d'erreur que m'affiche wamp :
J'ai créé une table avec les champs suivants : '' nomfruit'', ''saison'' , ''prix''
J'ai créé ensuite un formulaire avec un seul champ intitulé ''fruit'' qui affiche une liste déroulante des noms des fruits contenus dans la collonne ''nomfruit'' de ma table .
Je voudrais maintenant pouvoir faire deux choses à la fois :
1-afficher le prix d'un fruit quelconque en choisissant son nom sur la liste déroulante, jusque là j'ai pas de problème
2- ensuite Augmenter au prix du fruit un montant quelconque que je vais saisir via un autre formulaire, puis afficher le nouveau prix. C'est au niveau de cette deuxième étape ou ca se corse pour moi
Est ce possible que je puisse y parvenir uniquement avec le php,
voici mon code
<html >
<body>
<?php
// Liste déroulante
try
{
$bdd = new PDO('mysql:host=localhost;dbname=productions','root','',array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
?>
<form method="post" action="jordan.php">
<label for="fruits">Choisir le type de fruit que vous voulez changer le prix</label><br><br/>
<select name="fruits" id="fruits">
<?php
$reponse = $bdd->query('SELECT * FROM fruits');
while ($donnees = $reponse->fetch())
{
?>
<option value="<?php echo $donnees['nom'];?>"> <?php echo $donnees['nom'];?> </option>
<?php
}
?>
</select>
<br><br/>
<input type="submit" name="valider" value="VALIDER"/><br><br/>
</form>
<?php
// Recherche dans la table du prix actuel et affichage de celui ci
if( isset( $_POST['fruits'] ))
{
$param_rech = $_POST['fruits'];
?>
<?php
$req = $bdd->prepare('SELECT * FROM fruits WHERE nom= :nom_fruit');
$req->execute(array(
'nom_fruit' => $param_rech,
));
while ($result = $req->fetch())
{
echo 'Le prix actuel de '.''.$param_rech.''. 'est de :'.''.$result['prix'].''.$result['saison'].'<br><br />';
$prix= $result['prix'];
}
$req->closeCursor();
}
?>
<form method='POST' action='jordan.php'>
Montant augmentation
<br/>
<input type="text" name="montantaug"/> <br><br/>
<input type="submit" name="valider" value="VALIDER LE MONTANT A AUGMENTER"/>
</form>
<?php
if ( isset($_POST['montantaug']))
{
$montantaug = $_POST['montantaug'];
// Calcul du nouveau prix
function calculaugmentation($prix, $montantaug)
{
$nouvprix = $prix + $montantaug;// calcul du nouveau prix
return $nouvprix; // indique la valeur à renvoyer, ici le nouveau prix
}
$nouvprix = calculaugmentation($prix, $montantaug);
echo 'Le nouveau prix de '.''.$param_rech.''. 'est de :'.''.$nouvprix.''.'<br><br />';
}
?>
</body>
</html>
Voici les deux messages d'erreur que m'affiche wamp :
Notice: Undefined variable: prix in C:\wamp\www\Nouveau dossier (2)\programme_recherche\jordan.php on line 104
Notice: Undefined variable: param_rech in C:\wamp\www\Nouveau dossier (2)\programme_recherche\jordan.php on line 106
| EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Changer la valeur d'un champs à partir d'un choix multiple
- Changer dns - Guide
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Excel cellule choix multiple - Guide
- Changer l'extension d'un fichier - Guide
- Changer la lettre d'un disque dur - Guide
2 réponses
Bonjour,
Voici ton code corrigé et remis en forme
Cordialement,
Jordane
Voici ton code corrigé et remis en forme
<?php
//--------------------------------------------------//
//Fichier (cnxBDD.php) de connexion à la BDD
// à inclure dans les pages dont tu en as besoin
//--------------------------------------------------//
try {
$bdd = new PDO('mysql:host=localhost;dbname=productions','root','',array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
} catch(Exception $e) {
die('Erreur : '.$e->getMessage());
}
?>
<?php
//--------------------------------------------------//
//Fichier jordan.php
//--------------------------------------------------//
//Connexion à la BDD
require_once "cnxBDD.php";
//Récupération propre des variables
$param_rech = isset($_POST['fruits']) ? $_POST['fruits'] : '';
$montantaug = isset($_POST['montantaug']) ? $_POST['montantaug'] : '';
//Fonctions
function calculaugmentation($prix, $montantaug){
$nouvprix = $prix + $montantaug;// calcul du nouveau prix
return $nouvprix; // indique la valeur à renvoyer, ici le nouveau prix
}
?>
<html >
<head>
<title>TitreDeTaPage</title>
</head>
<body>
<form method="post" action="">
<label for="fruits">Choisir le type de fruit que vous voulez changer le prix</label><br><br/>
<select name="fruits" id="fruits">
<?php
$reponse = $bdd->query('SELECT * FROM fruits');
while ($donnees = $reponse->fetch()) {
echo "<option value='".$donnees['nom']."'>".$donnees['nom']."</option>";
}
?>
</select>
<br><br/>
<input type="submit" name="valider" value="VALIDER"/><br><br/>
</form>
<?php
if(!empty($param_rech)){
$req = $bdd->prepare('SELECT * FROM fruits WHERE nom= :nom_fruit');
$req->execute(array('nom_fruit' => $param_rech ));
while ($result = $req->fetch()){
$prix= $result['prix'];
$saison =$result['saison'];
echo "Le prix actuel d '$param_rech est de :$prix $saison<br><br>";
}
$req->closeCursor();
}
?>
<form method='POST' action=''>
<input type="hidden" name="fruits" id="input_cache_fruits" value="$param_rech">
<label for="montantaug">Montant augmentation</label>
<br>
<input type="text" name="montantaug" id="montantaug" value="$montantaug">
<br><br>
<input type="submit" name="valider" value="VALIDER LE MONTANT A AUGMENTER"/>
</form>
<?php
if (!empty($montantaug)) {
// Calcul du nouveau prix
$nouvprix = calculaugmentation($prix, $montantaug);
echo 'Le nouveau prix de '.''.$param_rech.''. 'est de :'.''.$nouvprix.''.'<br><br />';
}
?>
</body>
</html>
Cordialement,
Jordane