Requete SQL via select

DjoDjo1984 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
Bonjour,

J'ai un soucis avec un select:

Voici le code de mon formulaire:

<form method="POST">
<select name="choix" class="select">
<option value="vehicules" selected="selected">Véhicules</option>
<option value="formations" >Formations</option>
<option value="unites" >Unités</option>
</select>
</form>

Et j'aimerais selon le choix de l'utilisateur faire une requete SQL avec comme attribut la value de mon champ...

Comment puis-je faire ca?!
A voir également:

7 réponses

Utilisateur anonyme
 
Bonjour,
Pour récupérer la valeur d'un select :
$valeur=$_POST['choix'];

Dans valeur, tu auras soit : vehicules, formations ou unites.

Après, tu n'as plus qu'à insérer $valeur dans ta requête.
0
DjoDjo1984 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai fais comme ca mais ca ne fonctionne pas...

<form method="post">
<select name="choix" class="select">
<option value="vehicules" selected="selected">Véhicules</option>
<option value="formations" >Formations</option>
<option value="unites" >Unités</option>
</select>
</form>
<div class="symbol_menu2" id="vehicules">
<?php
$valeur = $_POST['choix'];
// on se connecte à MySQL
echo ($valeur);
$db = mysql_connect('localhost', 'root', '');
// on sélectionne la base
mysql_select_db('symbols',$db);
// on crée la requête SQL
$sql = 'SELECT lien FROM '.$valeur;
echo $sql;
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_assoc($req)){
// on affiche les informations de l'enregistrement en cours
echo '<img src="'.$data['lien'].'">';
}
// on ferme la connexion à mysql
mysql_close();
// ------ choix des symboles --------
?>
</div>

Il me dit que j'ai une erreur de synthaxe...

Et au chargement de la page, $valeur ne vaut rien...
0
Utilisateur anonyme
 
C'est tout à fait normal que ça ne fonctionne pas au premier chargement de la page, c'est le soucis de faire un formulaire et son traitement dans une même page.
Pour éviter ce problème, il suffit de rajouter autour de :
$valeur = $_POST['choix'];
// on se connecte à MySQL
echo ($valeur);
$db = mysql_connect('localhost', 'root', '');
// on sélectionne la base
mysql_select_db('symbols',$db);
// on crée la requête SQL
$sql = 'SELECT lien FROM '.$valeur;
echo $sql;
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_assoc($req)){
// on affiche les informations de l'enregistrement en cours
echo '<img src="'.$data['lien'].'">';
}
// on ferme la connexion à mysql
mysql_close();
// ------ choix des symboles -------- 

Ceci :
if isset($_POST['choix']) {
// Tu mets le code du-dessus dedans
}

De plus, pour que ton formulaire fonctionne :
<form method="post">
<select name="choix" class="select">
<option value="vehicules" selected="selected">Véhicules</option>
<option value="formations" >Formations</option>
<option value="unites" >Unités</option>
</select>
<input type="submit" name="Valider" value="Envoyer">
</form> 
0
DjoDjo1984 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Merci bien ca fonctionne maintenant!

Par contre la feinte c'est que j'aimerais faire la même chose mais sans bouton!

Javascript?!?! Ou il y a un autre moyen?!
0

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

Posez votre question
Utilisateur anonyme
 
Effectivement, ça doit être possible avec du Javascript, mais là, je n'ai que des notions.
Peut-être avec une fonction qui permet de récupérer le nom de l'option sur lequel on clique (onClick).
0
aaa
 
comment acceder au base de donnes Oracle avec Flash
0
Utilisateur anonyme
 
Bonjour,
Ton message n'a rien à voir avec le topic. Ici, on parle de MySQL et non de Oracle. Donc, direction créer un nouveau sujet. ;)
0