tri sur colonnes : à améliorer
Posté : 09 juin 2009, 11:07
Bonjour,
j'ai ce code qui fonctionne très bien mais pour lequel je voudrais 2 améliorations :
Ensuite, je voudrais que chaque ville et chaque activité soit cliquable. Si l'on clique sur une ville, on obtient un tableau avec toutes les activités de cette ville. Si l'on clique sur une activité, on obtient un tableau avec toutes les villes où l'on trouve cette activité.
Merci pour les pistes d'étude.
j'ai ce code qui fonctionne très bien mais pour lequel je voudrais 2 améliorations :
<?php
// Le nom de notre table
$tablename = 'table';
// Tri sur colonne
$tri_autorises = array('ville','activite');
$order_by = in_array($_GET['order'],$tri_autorises) ? $_GET['order'] : 'ville';
// Sens du tri
$order_dir = isset($_GET['inverse']) ? 'DESC' : 'ASC';
// Préparation de la requête
$sql = "
SELECT *
FROM {$tablename}
ORDER BY {$order_by} {$order_dir}
";
$result = mysql_query($sql);
// Notre fonction qui affiche les liens
function sort_link($text, $order=false)
{
global $order_by, $order_dir;
if(!$order)
$order = $text;
$link = '<a href="?order=' . $order;
if($order_by==$order && $order_dir=='ASC')
$link .= '&inverse=true';
$link .= '"';
if($order_by==$order && $order_dir=='ASC')
$link .= ' class="order_asc"';
elseif($order_by==$order && $order_dir=='DESC')
$link .= ' class="order_desc"';
$link .= '>' . $text . '</a>';
return $link;
}
// Affichage
?>
<style type="text/css">
a.order_asc,
a.order_desc:hover {
padding-right:15px;
background:transparent url(images/s_asc.png) right no-repeat;
}
a.order_desc,
a.order_asc:hover {
padding-right:15px;
background:transparent url(images/s_desc.png) right no-repeat;
}
</style>
<table>
<tr bgcolor="#FF9900">
<th>
<?php echo sort_link('Ville', 'ville') ?>
</th>
<th>
<?php echo sort_link('Activité', 'activite') ?>
</th>
</tr>
<?php while( $row=mysql_fetch_assoc($result) ) : ?>
<tr>
<td><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><?php echo $row['ville'] ?></font></td>
<td><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><?php echo $row['activite'] ?></font></td>
</tr>
<?php endwhile ?>
</table>
D'abord je voudrais mettre une condition sur Ville pour dire que si le champ est vide, on n'affiche rien.Ensuite, je voudrais que chaque ville et chaque activité soit cliquable. Si l'on clique sur une ville, on obtient un tableau avec toutes les activités de cette ville. Si l'on clique sur une activité, on obtient un tableau avec toutes les villes où l'on trouve cette activité.
Merci pour les pistes d'étude.