Liste deroulante php/mysql
mgdiallo
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
loveparade Messages postés 506 Date d'inscription Statut Membre Dernière intervention -
loveparade Messages postés 506 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je suis débutant en PHP et je fais un e commerce. mon souci est de filtrer les enregistrements de ma base à partir des valeurs choisies dans des listes déroulantes.
voici mon code:
première fenêtre: c'est ici on fait le choix à partir des listes déroulantes
<?php
$Forme = isset($_POST['Forme']) ? $_POST['Forme'] : '';
$Poids = isset($_POST['Poids']) ? $_POST['Poids'] : '';
$Couleur = isset($_POST['Couleur']) ? $_POST['Couleur'] : '';
$Purete = isset($_POST['Purete']) ? $_POST['Purete'] : '';
?>
<form action="deuxiemePage.php" method="POST">
<LABEL><strong>Forme</strong></label>
<select name="Forme">
<option>Coeur</option>
<option>Round</option>
<option>Pear</option>
<option>Ovale</option>
<option>Poire</option>
<option>Princesse</option>
<option>Radiant</option>
<option>Ronde</option>
<option>Triangle</option>
</select><br /><br />
<LABEL><strong>Poids</strong></label>
<select name="Poids">
<option>0.30-0.45</option>
<option>0.46-0.65</option>
<option>0.66-0.80</option>
<option>0.81-0.95</option>
<option>0.96-1.05</option>
<option>1.06-1.45</option>
<option>1.46-1.95</option>
<option>1.96-2.00</option>
<option>2.01-3.00</option>
<option>3.01-5.00</option>
<option>5.01-7.00</option>
<option>7.01-10.50</option>
</select><br /><br />
<LABEL><strong>Couleur</strong></label>
<select name="Couleur">
<option>D</option>
<option>E</option>
<option>F</option>
<option>G</option>
<option>H</option>
<option>I</option>
<option>J</option>
<option>K</option>
<option>L</option>
<option>M</option>
</select><br /><br />
<LABEL><strong>Pureté</strong></label>
<select name="Purete">
<option value="IF">IF</option>
<option value="SI1">SI1</option>
<option value="SI2">SI2</option>
<option value="VS1">VS1</option>
<option value="VS2">VS2</option>
<option value="VVS1">VS1</option>
<option value="VVS2">VS2</option>
</select><br /> <br />
<label></label>
<input type="submit" value="Valider"/>
</form>
deuxième page: c'est ici on fait la requête qui fait la restriction par rapport aux valeurs choisies dans les listes déroulante de la page précédente.
<?php
$liendb = mysql_connect($bddserver, $bddlogin, $bddpassword);
mysql_select_db($bdd);
$sql = "select * from table where Couleur= $Couleur and Forme= $Forme";
$resultat = mysql_query ($sql);
while ($table = mysql_fetch_array($resultat))
{
print("<b>");print(" - ");
print("<a href=".$_SERVER['PHP_SELF']."?id=".$table['Reference'].">".
$table['Reference'].
$table['Forme'].
$table['Taille'].
$table['Couleur'].
$table['Purete']."</a>");print(" ");
print($table['PrixTotal']);print(" CHF");print("</b>");
print("<br/>");
}
?>
merci d'avance
voici mon code:
première fenêtre: c'est ici on fait le choix à partir des listes déroulantes
<?php
$Forme = isset($_POST['Forme']) ? $_POST['Forme'] : '';
$Poids = isset($_POST['Poids']) ? $_POST['Poids'] : '';
$Couleur = isset($_POST['Couleur']) ? $_POST['Couleur'] : '';
$Purete = isset($_POST['Purete']) ? $_POST['Purete'] : '';
?>
<form action="deuxiemePage.php" method="POST">
<LABEL><strong>Forme</strong></label>
<select name="Forme">
<option>Coeur</option>
<option>Round</option>
<option>Pear</option>
<option>Ovale</option>
<option>Poire</option>
<option>Princesse</option>
<option>Radiant</option>
<option>Ronde</option>
<option>Triangle</option>
</select><br /><br />
<LABEL><strong>Poids</strong></label>
<select name="Poids">
<option>0.30-0.45</option>
<option>0.46-0.65</option>
<option>0.66-0.80</option>
<option>0.81-0.95</option>
<option>0.96-1.05</option>
<option>1.06-1.45</option>
<option>1.46-1.95</option>
<option>1.96-2.00</option>
<option>2.01-3.00</option>
<option>3.01-5.00</option>
<option>5.01-7.00</option>
<option>7.01-10.50</option>
</select><br /><br />
<LABEL><strong>Couleur</strong></label>
<select name="Couleur">
<option>D</option>
<option>E</option>
<option>F</option>
<option>G</option>
<option>H</option>
<option>I</option>
<option>J</option>
<option>K</option>
<option>L</option>
<option>M</option>
</select><br /><br />
<LABEL><strong>Pureté</strong></label>
<select name="Purete">
<option value="IF">IF</option>
<option value="SI1">SI1</option>
<option value="SI2">SI2</option>
<option value="VS1">VS1</option>
<option value="VS2">VS2</option>
<option value="VVS1">VS1</option>
<option value="VVS2">VS2</option>
</select><br /> <br />
<label></label>
<input type="submit" value="Valider"/>
</form>
deuxième page: c'est ici on fait la requête qui fait la restriction par rapport aux valeurs choisies dans les listes déroulante de la page précédente.
<?php
$liendb = mysql_connect($bddserver, $bddlogin, $bddpassword);
mysql_select_db($bdd);
$sql = "select * from table where Couleur= $Couleur and Forme= $Forme";
$resultat = mysql_query ($sql);
while ($table = mysql_fetch_array($resultat))
{
print("<b>");print(" - ");
print("<a href=".$_SERVER['PHP_SELF']."?id=".$table['Reference'].">".
$table['Reference'].
$table['Forme'].
$table['Taille'].
$table['Couleur'].
$table['Purete']."</a>");print(" ");
print($table['PrixTotal']);print(" CHF");print("</b>");
print("<br/>");
}
?>
merci d'avance
A voir également:
- Liste deroulante php/mysql
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste déroulante google sheet - Accueil - Guide bureautique
- Liste code ascii - Guide
- Easy php - Télécharger - Divers Web & Internet
3 réponses
Juste pour infos, ton code n'est pas sécurisé, avant de faire des sites apprenez a sécuriser vos codes ...
merci de m'avoir répondu. qu'est ce que dois rajouter pour lui rendre en sécurité et qu'est ce que dois modifier sur le code pour résoudre le problème initial.
merci d'avance
merci d'avance
1. Dans tes options tu as oublié d'assinger une valeur
ex :
2. htmlentities() pour securiser un minimum tes variables lors de ta requete sql => https://www.php.net/htmlentities
ex :
ou
ex :
<option value="italie">Italie</option> et non <option>Italie</option>
2. htmlentities() pour securiser un minimum tes variables lors de ta requete sql => https://www.php.net/htmlentities
ex :
$query = mysql_query('SELECT * FROM matable WHERE name = "'.htmlentities($_POST['name']).'"');
ou
$Couleur = isset($_POST['Couleur']) ? htmlentities($_POST['Couleur']) : '';