Récupération d'une valeur en fonction d'une autre
5 messages
• Page 1 sur 1
- CyberNord
- Nouveau WRInaute

- Messages: 32
- Inscription: 13 Oct 2004
Récupération d'une valeur en fonction d'une autre
Bonjour,
Sur mon formulaire, j'ai un menu déroulant comme ceci :
<SELECT name="category" size=1><?php echo "$category";?>
<OPTION value="0"></OPTION>
<OPTION value="trail">Trail</OPTION>
<OPTION value="randovtt">Rando VTT</OPTION>
<OPTION value="raid">Raid</OPTION>
<OPTION value="Autre">Autre</OPTION>
</SELECT>
Je souhaiterais que quand l'utilisateur sélectionne par exemple la valeur "Trail", la valeur "puce_noir.png" soit récupérée par la variable $puce.
Voir http://chti.sportif.free.fr/formulaire/ajout.php
Comment faire ?
Merci
Sur mon formulaire, j'ai un menu déroulant comme ceci :
<SELECT name="category" size=1><?php echo "$category";?>
<OPTION value="0"></OPTION>
<OPTION value="trail">Trail</OPTION>
<OPTION value="randovtt">Rando VTT</OPTION>
<OPTION value="raid">Raid</OPTION>
<OPTION value="Autre">Autre</OPTION>
</SELECT>
Je souhaiterais que quand l'utilisateur sélectionne par exemple la valeur "Trail", la valeur "puce_noir.png" soit récupérée par la variable $puce.
Voir http://chti.sportif.free.fr/formulaire/ajout.php
Comment faire ?
Merci
-

MikeR - WRInaute impliqué

- Messages: 587
- Inscription: 9 Jan 2010
Re: Récupération d'une valeur en fonction d'une autre
Tu crées un array :
- Code: Tout sélectionner
$category=$_REQUEST['category'];
$val=array('trail'=>puce_noir.png','randovtt'=>'rando.png','autre'=>'autre.png');
$puce = $val[$category];
- CyberNord
- Nouveau WRInaute

- Messages: 32
- Inscription: 13 Oct 2004
Re: Récupération d'une valeur en fonction d'une autre
Peux tu me dire où je dois introduire ce code ?
dsl mais le javascript m'échappe...
dsl mais le javascript m'échappe...
- Code: Tout sélectionner
<?php
// Partie de traitement du formulaire...
// Si la requete s'est bien effectuée et donc qu'un ajout a été effectué
if ($_GET['message']=="ok")
{
// On affiche un message de confirmation
?>
<h1>Votre manifestation a bien été ajoutée à notre base de données</h1>
<h1>Elle sera traitée dans les meilleurs délais.</h1>
<h3><a href="manifestation.php">Voir les derniers ajouts proposés</a></h3>
<h3><a href="ajout.php">Ajouter une autre manifestation sportive</a></h3>
<?php
}
// Si erreur dans la requete
else if($_GET['message']=="errbdd")
{
// On affiche un message d'erreur
?>
<p>Erreur de connexion à la Bdd...</p>
<p align="center"><a href="index.php">Retour à l'index</a></p>
<?php
}
// Sinon...
else
{
if (isset($_GET['lat']) && is_numeric($_GET['lat']))
{
$lat = $_GET['lat'];
}
if (isset($_GET['lng']) && is_numeric($_GET['lng']))
{
$lng = $_GET['lng'];
}
if (isset($lng) && isset($lat))
{
$requete = "INSERT INTO markers_formulaire (lat,lng) VALUES('$lat','$lng')";
$execution = mysql_db_query($db_select, $requete);
}
// Si le bouton ajouter! a été appuyé
if (isset($_POST['ajouter']) && $_POST['ajouter'] == 'Ajouter!')
{
// Récuperation des variables postés
$date = htmlentities($_POST['date']);
$position = htmlentities($_POST['position']);
$puce = htmlentities($_POST['puce']);
$lat = htmlentities($_POST['lat']);
$lng = htmlentities($_POST['lng']);
$category = htmlentities($_POST['category']);
$ville = strtoupper($_POST['ville']);
$address = htmlentities($_POST['address']);
$name = htmlentities($_POST['name']);
$link = htmlentities($_POST['link']);
$madate = htmlentities($_POST['madate']);
$infoUrl = htmlentities($_POST['infoUrl']);
$fiche = htmlentities($_POST['fiche']);
$photo = htmlentities($_POST['photo']);
$info = htmlentities($_POST['info']);
// Si tous les champs ont étés remplis
if ( $_POST['address']!="" && $_POST['madate']!="" && $_POST['category']!="" && $_POST['name']!="" && $_POST['ville']!="" && $_POST['info']!="" && $_POST['link']!="" && $_POST['date']!="" )
{
// Connexion avec la BDD
$mysql_link = include ('mysql_connect_formulaire.php');
// Si connexion effectuée
if($mysql_link)
{
// Requete et execution de la requete
$requete = "INSERT INTO markers_formulaire (geo_id,geo_statut,geo_date,geo_pos,geo_address,puce,lat,lng,madate,category,ville,name,info,link,infoUrl,fiche,photo) VALUES('','1','$date','$position','$address','$puce','$lat','$lng','$madate','$category','$ville','$name','$info','$link','infoUrl','fiche','photo')";
$execution = mysql_db_query($db_select, $requete);
// Suivi d'une redirection JS
?>
<SCRIPT LANGUAGE="JavaScript">
document.location.href="ajout.php?message=ok"
</SCRIPT>
<?php
}
// Si erreur de connexion à la bdd
else
{
?>
<SCRIPT LANGUAGE="JavaScript">
document.location.href="ajout.php?message=errbdd"
</SCRIPT>
<?php
}
?>
<?php
}
// Si un des champs est vide on affiche un message d'erreur
else
{
?>
<h1>Erreur<br />Au moins un des champs est vide !</h1>
<?php
}
}
// Partie formulaire
?>
<form action="ajout.php" method="POST">
<div class="hr"></div>
<?php
$date = date('Y-m-j H:i:s');
?>
<div class="right_formulaire">
<label>Addresse: </label><input id="address" name="address" type="text" value="<?php echo "$address";?>" class="champs" size="50" />
<div id="map_canvas"></div><br/>
<label>latitude: </label><input id="lat" name="lat" type="text" value="<?php echo "$lat";?>" class="champs" size="50" /><br/>
<label>longitude: </label><input id="lng" name="lng" type="text" value="<?php echo "$lng";?>" class="champs" size="50" />
</div>
<div class="left_formulaire">
<p>Ville (en majuscules SVP)</p>
<p><input name="ville" type="text" value="<?php echo "$ville";?>" onchange="addVille(this.value); return false" class="champs" size="50" /><input name="date" type="hidden" value="<?php echo "$date";?>" class="champs"/><input name="position" id="position" type="hidden" value="<?php echo "$position";?>" readonly="readonly" class="champs" /></p>
<p>Date</p>
<p><input name="madate" id="madate" type="text" value="<?php echo "$madate";?>" class="date_input" size="50" /></p>
<p>Nom (ex : Trail d2B)</p>
<p><input name="name" type="text" value="<?php echo "$name";?>" class="champs" size="50" /></p>
<p>Courte description</p>
<p><textarea name="info" cols="38" rows="" class="champs"><?php echo "$info";?></textarea></p>
<p>Site web</p>
<p><input name="link" type="text" value="<?php echo "$link";?>" class="champs" size="50" /></p>
<p>Catégorie</p>
<p><fieldset><legend><?php echo "$category";?></legend>
<select name="category" size=1 onchange="fnChange(this);">
<option value="0"></option>
<option value="trail">Trail</option>
<option value="randovtt">Rando VTT</option>
<option value="raid">Raid</option>
<option value="Autre">Autre</option>
</select></fieldset>
</p>
<p align="center"><input type="submit" name="ajouter" id="submit" value="Ajouter!" class="bouton"></p>
</form>
</div>
<?php
}
?>
- CyberNord
- Nouveau WRInaute

- Messages: 32
- Inscription: 13 Oct 2004
Re: Récupération d'une valeur en fonction d'une autre
Résolu avec une autre méthode :
[QUOTE=NoSmoking]
Le code du SELECT devient donc
Maintenant il reste à faire la fonction d'affectation, je te la mets ci dessous sans vraiment l'expliquer, les commentaires me semblant suffisant
A toi de finaliser...[/QUOTE]
[QUOTE=NoSmoking]
Le code du SELECT devient donc
- Code: Tout sélectionner
<fieldset>
<legend>categorie</legend>
<select name="category" size=1 onchange="fnChange(this);">
<option value="0"></option>
<option id="image_trail.jpg" value="trail">Trail</option>
<option id="image_rando.jpg" value="randovtt">Rando VTT</option>
<option id="image_raid.jpg" value="raid">Raid</option>
<option id="image_autre.jpg" value="Autre">Autre</option>
</select>
<br><input name="puce" id="puce" type="hidden" value="">
</fieldset>
Maintenant il reste à faire la fonction d'affectation, je te la mets ci dessous sans vraiment l'expliquer, les commentaires me semblant suffisant
- Code: Tout sélectionner
function fnChange( obj){
// recup numero option selectionnee
var index = obj.selectedIndex;
// recup element champ puce
var oDest = document.getElementById('puce');
// affectation de la valeur recupere dans l'ID de l'option
oDest.value = obj.options[index].id;
}
A toi de finaliser...[/QUOTE]
-

UsagiYojimbo - WRInaute accro

- Messages: 8579
- Inscription: 23 Nov 2005
Re: Récupération d'une valeur en fonction d'une autre
Y'a aussi la solution d'avoir les deux données dans le value de chaque option, et de les séparer par un |, puis de faire un explode sur la valeur récupérée.
5 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Recuperation valeur apres le ?
- recuperation valeur champ phpmyadmin
- recuperation de la derniere valeur d'un champ
- Redirection header() en fonction de la valeur d'un cookie
- Afficher un texte en fonction de la valeur d'un select
- champ action formulaire modifié en fonction valeur choisie
- Valeur d'un lien avec un autre site en fonction de son PR
- Donner une valeur avec une fonction java
- XMLreader : comment sortir les résultats valeur par valeur
- réécrire des urls /index.php?page=$valeur en /valeur
- Classement Interbrand 2006 : la percée de Google - 01-08-2006
- Google souhaite lever plus de 2 milliards de dollars - 30-03-2006
- Référencement : combien vaut un lien ? - 23-05-2006
- Les deux échelles du PageRank - 10-08-2004
- Les 2 échelles de PageRank : toolbar et DMOZ - 10-08-2004
- Gérer l'entête HTTP en PHP - 04-08-2008
- La balise meta NOYDIR de Yahoo - 05-03-2007
- Référencer un site multilingue - 24-04-2004
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
