PHP liste deroulante et requete sql select
Résolu
sonar974
Messages postés
44
Date d'inscription
Statut
Membre
Dernière intervention
-
sonar974 Messages postés 44 Date d'inscription Statut Membre Dernière intervention -
sonar974 Messages postés 44 Date d'inscription Statut Membre Dernière intervention -
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
- Liste déroulante google sheet - Accueil - Guide bureautique
- Supprimer liste déroulante Excel ✓ - Forum Excel
6 réponses
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