PHP liste deroulante et requete sql select
Résolu/Fermé
sonar974
Messages postés
44
Date d'inscription
jeudi 3 mai 2012
Statut
Membre
Dernière intervention
15 septembre 2017
-
3 mai 2012 à 17:59
sonar974 Messages postés 44 Date d'inscription jeudi 3 mai 2012 Statut Membre Dernière intervention 15 septembre 2017 - 3 mai 2012 à 21:19
sonar974 Messages postés 44 Date d'inscription jeudi 3 mai 2012 Statut Membre Dernière intervention 15 septembre 2017 - 3 mai 2012 à 21:19
A voir également:
- Liste déroulante php mysql
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Supprimer liste déroulante excel ✓ - Forum Excel
- Supprimer liste déroulante Excel ✓ - Forum Excel
- Effacer le contenue d'une cellule avec liste déroulante - Forum Excel
6 réponses
sonar974
Messages postés
44
Date d'inscription
jeudi 3 mai 2012
Statut
Membre
Dernière intervention
15 septembre 2017
4
3 mai 2012 à 21:19
3 mai 2012 à 21:19
si sa peu aider quelqu'un
<!-- CONTENT -->
<div class="content-center">
<div id="products-list">
<header>
<p class="counter"><strong>01-08</strong> sur 40 créations</p>
<!--- <select name="trie">
<option>Date</option>
<option>Prix croissant</option>
<option>Prix décroissant</option>
<option>Nom de A-Z</option>
<option>Nom de Z-A</option>
</select> --->
<form method="GET" action=""><select name="trie" action="">
<option value="dateAsc">Date croissante</option>
<option value="dateDesc">Date décroissante</option>
<option value="prixAsc">Prix croissant</option>
<option value="prixDesc">Prix décroissant</option>
<option value="nomAsc">Nom A-Z</option>
<option value="nomDesc">Nom Z-A</option>
</select>
</form>
</header>
<div class="products">
<?php
if(isset($_GET['trie'])) {
switch($_GET['trie']) {
case 'dateAsc':
$tri = 'date ASC';
break;
case 'dateDesc':
$tri = 'date DESC';
break;
case 'prixAsc':
$tri = 'prix ASC';
break;
case 'prixDesc':
$tri = 'prix DESC';
break;
default:
$tri = 'prix ASC';
break;
}
} else {
$tri = 'prix ASC';
}
try
{
// On se connecte à MySQL
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=catatest', 'root', '', $pdo_options);
// On récupère tout le contenu de la table
$reponse = $bdd->query('SELECT * FROM produits ORDER BY ".$tri." ASC LIMIT 0, 12');
//$reponse = $bdd->query('SELECT * FROM produits LIMIT 0, 12');
// On affiche chaque entrée une à une
while ($donnees = $reponse->fetch())
{
?>
<p>
<article>
<figure><a href="produit.php?ID=<?php echo $donnees['ID']; ?>" title="Informations produits"><img src="<?php echo $donnees['photo']; ?>" alt="" /></figure>
<figcaption>
<h2>
<span class="title"><?php echo $donnees['prix']; ?>€</span>
<span class="marque"><?php echo $donnees['marques']; ?> <?php echo $donnees['ref']; ?></span>
<br />
</h2>
<br />
</figcaption>
</article>
</em>
</p>
<?php
}
$reponse->closeCursor(); // Termine le traitement de la requête
}
catch(Exception $e)
{
// En cas d'erreur précédemment, on affiche un message et on arrête tout
die('Erreur : '.$e->getMessage());
}
?>
cette methode n'affiche aucune erreur,
cepandant je pense qui faudrais un bouton pour activer le filtrage
<!-- CONTENT -->
<div class="content-center">
<div id="products-list">
<header>
<p class="counter"><strong>01-08</strong> sur 40 créations</p>
<!--- <select name="trie">
<option>Date</option>
<option>Prix croissant</option>
<option>Prix décroissant</option>
<option>Nom de A-Z</option>
<option>Nom de Z-A</option>
</select> --->
<form method="GET" action=""><select name="trie" action="">
<option value="dateAsc">Date croissante</option>
<option value="dateDesc">Date décroissante</option>
<option value="prixAsc">Prix croissant</option>
<option value="prixDesc">Prix décroissant</option>
<option value="nomAsc">Nom A-Z</option>
<option value="nomDesc">Nom Z-A</option>
</select>
</form>
</header>
<div class="products">
<?php
if(isset($_GET['trie'])) {
switch($_GET['trie']) {
case 'dateAsc':
$tri = 'date ASC';
break;
case 'dateDesc':
$tri = 'date DESC';
break;
case 'prixAsc':
$tri = 'prix ASC';
break;
case 'prixDesc':
$tri = 'prix DESC';
break;
default:
$tri = 'prix ASC';
break;
}
} else {
$tri = 'prix ASC';
}
try
{
// On se connecte à MySQL
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=catatest', 'root', '', $pdo_options);
// On récupère tout le contenu de la table
$reponse = $bdd->query('SELECT * FROM produits ORDER BY ".$tri." ASC LIMIT 0, 12');
//$reponse = $bdd->query('SELECT * FROM produits LIMIT 0, 12');
// On affiche chaque entrée une à une
while ($donnees = $reponse->fetch())
{
?>
<p>
<article>
<figure><a href="produit.php?ID=<?php echo $donnees['ID']; ?>" title="Informations produits"><img src="<?php echo $donnees['photo']; ?>" alt="" /></figure>
<figcaption>
<h2>
<span class="title"><?php echo $donnees['prix']; ?>€</span>
<span class="marque"><?php echo $donnees['marques']; ?> <?php echo $donnees['ref']; ?></span>
<br />
</h2>
<br />
</figcaption>
</article>
</em>
</p>
<?php
}
$reponse->closeCursor(); // Termine le traitement de la requête
}
catch(Exception $e)
{
// En cas d'erreur précédemment, on affiche un message et on arrête tout
die('Erreur : '.$e->getMessage());
}
?>
cette methode n'affiche aucune erreur,
cepandant je pense qui faudrais un bouton pour activer le filtrage