par
sadeq » 07 juil. 2011, 19:30
Bonjour,
Dans ce cas, tu auras 3 liens hypertextes qui permettent à l’utilisateur de choisir les champs et leurs ordres de tri. Puis dans la requête SQL tu auras 3 champs dans la clause ORDER BY.
Voici une proposition d'implémentation de cette solution:
<?php
// variables de travail
$mintri = isset($_GET['mintri']) && strtolower($_GET['mintri']) == 'desc' ? 'desc' : 'asc'; //par défaut l'ordre est ASC
$styletri= isset($_GET['styletri']) && strtolower($_GET['styletri']) == 'desc' ? 'desc' : 'asc';
$visitestri = isset($_GET['visitestri']) && strtolower($_GET['visitestri']) == 'desc' ? 'desc' : 'asc';
// liens pour les champs de tri
echo '<p>Time <a href="?mintri=asc">-</a> I <a href="?mintri=desc">+</a></p>';
echo '<p>Style<a href="?styletri=asc">-</a> I <a href="?styletri=desc">+</a></p>';
echo '<p>Visites<a href="?visitestri=asc">-</a> I <a href="?visitestri=desc">+</a></p>';
?>
<?php
// information pour la connection à le DB
$host = 'localhost';
$user = 'usr';
$pass = 'pass';
$db = 'bdd';
// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
// requête SQL qui compte le nombre total d'enregistrements dans la table et qui
//récupère tous les enregistrements
$select = "SELECT *,SUBSTRING(commentaire,1,26) AS commentaire from music where archives='non' order by min $mintri, style $styletri, visites $visitestri"; // il faut bien ordonner les champs de tri dans ORDER BY selon les niveaux de tri souhaités
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result)
Voilà.
Bonjour,
Dans ce cas, tu auras 3 liens hypertextes qui permettent à l’utilisateur de choisir les champs et leurs ordres de tri. Puis dans la requête SQL tu auras 3 champs dans la clause ORDER BY.
Voici une proposition d'implémentation de cette solution:
[php]<?php
// variables de travail
$mintri = isset($_GET['mintri']) && strtolower($_GET['mintri']) == 'desc' ? 'desc' : 'asc'; //par défaut l'ordre est ASC
$styletri= isset($_GET['styletri']) && strtolower($_GET['styletri']) == 'desc' ? 'desc' : 'asc';
$visitestri = isset($_GET['visitestri']) && strtolower($_GET['visitestri']) == 'desc' ? 'desc' : 'asc';
// liens pour les champs de tri
echo '<p>Time <a href="?mintri=asc">-</a> I <a href="?mintri=desc">+</a></p>';
echo '<p>Style<a href="?styletri=asc">-</a> I <a href="?styletri=desc">+</a></p>';
echo '<p>Visites<a href="?visitestri=asc">-</a> I <a href="?visitestri=desc">+</a></p>';
?>
<?php
// information pour la connection à le DB
$host = 'localhost';
$user = 'usr';
$pass = 'pass';
$db = 'bdd';
// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
// requête SQL qui compte le nombre total d'enregistrements dans la table et qui
//récupère tous les enregistrements
$select = "SELECT *,SUBSTRING(commentaire,1,26) AS commentaire from music where archives='non' order by min $mintri, style $styletri, visites $visitestri"; // il faut bien ordonner les champs de tri dans ORDER BY selon les niveaux de tri souhaités
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result)[/php]
Voilà.