quelle value pour tous choisir avec select option

béatrice
Invité n'ayant pas de compte PHPfrance

08 sept. 2010, 11:37

Bonjour, j'ai mon formulaire présent si dessous qui envoie une selection avec variable $cherche vers ma bdd mysql. Si je selection BL mon script édite la couleur bleu donc pas de soucis mais si je ne selectionne rien et que je reste sur <option value="">--- CHOIX ---</option> j'aimerais que cela édite toutes les couleurs.
<form action="select.php" method="post"> 
<select name="cherche">
<option value="">--- CHOIX ---</option>
<option value="rouge">RG</option>
<option value="bleu">BL</option>
<option value="blanc">CH</option>
</select> 
<input type="submit" value="Envoyer">
 </form>
Merci à vous, j'espère que je suis sur le bon forum car il y a du html avec variable.

Eléphant du PHP | 74 Messages

08 sept. 2010, 13:13

Heu oui mais c'est quoi qui te pose soucis ? Quelle est ta requête actuel vers ta BDD ?
if ( $_POST["cherche"]=="" )
{
    //Faire quelque chose
}

Béatrice
Invité n'ayant pas de compte PHPfrance

08 sept. 2010, 21:01

Voici mon formulaire de selection
     <form action="select.php" method="post"> 
<select name="cherche">
<option value="">--- CHOIX ---</option>
<option value="rouge">RG</option>
<option value="bleu">BL</option>
<option value="blanc">CH</option>
</select> 

<select name="rub">
<option>--- CHOIX ---</option>
<option value="p">plastique</option>
<option value="b">bois</option>
<option value="m">metal</option>
</select> 
<input type="submit" value="Envoyer">
 </form>

MA requete php dans mon fichier reception select.php
$resultatr = mysql_db_query($sql_bdd,"SELECT * FROM nouveau WHERE ville='". $cherche ."' and rubrique='". $rub ."';",$db_link) or die(mysql_error());
$nb_total = mysql_fetch_array($resultatr);
J'aimerais : si l'internaute ne choisi rien dans le <select name="cherche"> le resultat soit tous les rouge bleu et blanc du choix de <select name="rub">
Merci à vous.

Eléphant du PHP | 74 Messages

08 sept. 2010, 22:31

Si ta variable $cherche correspond aux valeurs "rouge bleu blanc" alors supprime simplement cette valeur dans la clause WHERE.
if ( $recherche == "" ) 
{
   $resultatr = mysql_db_query($sql_bdd,"SELECT * FROM nouveau WHERE rubrique='". $rub ."';",$db_link) or die(mysql_error());
}
else
{
   $resultatr = mysql_db_query($sql_bdd,"SELECT * FROM nouveau WHERE ville='". $cherche ."' and rubrique='". $rub ."';",$db_link) or die(mysql_error());
}
Ca devrait te retourner toutes les "ville" peu importe la valeur suivant le select "rub" choisis.

ou encore

Code : Tout sélectionner

$req = $recherche == "" ? "rubrique='". $rub ."'" : "ville='". $cherche ."' and rubrique='". $rub ;
$resultatr = mysql_db_query($sql_bdd,"SELECT * FROM nouveau WHERE ".$req."';",$db_link) or die(mysql_error());